WPF指南之XAML的名字空间——出自《IT168》

    xmlns 的作用是设置 XML 文件的命名空间。类似的, xmlns:x 的作用也是指定命名空间。这里为什么是 x 而不是其他的,我们可以简单的理解为其只是 MS 的一个命名而已,没有任何特殊的意义,当然,为了避免和它的冲突,我们定义自己的命名空间的时候不能是 x

    而另一个 x:Class 的作用就是支持当前 Window 所对应的类,前面已经说过每个 XAML 元素都是一个 CLR 类型,这里的 x:Class Window 的一个属性,属性的内容指出当前的窗口类是 FirstXAML 名字空间下的 Windows1 。为什么需要类,而不全部用 XAML 实现? XAML 的主要作用还是编写 UI 部分,我们仍然需要用代码对程序逻辑进行更深层次的控制。

    好了,这是两个最基本的名字空间。同样地,名字空间也可以自定义,并且这个自定义会给我们带来很大的方便。我们定义如下的一个类:

 

    如果想在 XAML 文件中使用这个 GroupData 类对象,我们就可以通过自定义的名字空间引入这个类:

 

    这里的后缀 local 只是一个标识,你可以设置为任何你喜欢的唯一标识。通过这个引入定义我们就可以在 XAML 文件中用 local 来标识 DataBind4Image 当中的任何类。访问 GroupData 类时只需要加上 local 就可以识别了: <local: DrawingGroupData/>
利用名字空间,除了可以引入我们定义的当前工程的类,还可以引入任何的 Assembly 。直接看例子是最简单的:

 

例子当中引入 .NET System Assembly ,通过它我们就可以直接使用 System 的任何类。利用这种类似的方式,我们可以在 XAML 中使用几乎所有的 DOTNET 框架类。

    最后说明一下在 XAML inline 嵌入程序逻辑处理代码的情况。利用 <CDATA[…]]> 关键字引入处理代码。这种情况在实际当中不太合适,我们不应该采用 UI 和逻辑混合的方式。详细的解释可以参数 Windows SDK 文档。

 

   前面提到过每个 XAML 元素表示一个 .NET CLR 类。多数的 XAML 元素都是从 System.Windows.UIElement, System.Windows.FrameworkElement, System.Windows.FrameworkContentElement System.Windows.ContentElement 继承。没有任何的 XAML 元素与 .NET CLR 的抽象类对应。但是很多元素都有一个抽象类的派生类对应。

   
通常有如下四种通用的 XAML 元素:
    Root
元素: Windows Page 是最常用的根元素。这些元素位于 XAML 文件的根元素,并包含其他元素。
    Panel
元素:帮助布置 UI 位置。常用的是 StackPanel, DockPanel, Grid Canvas
    Control
元素:定义 XAML 文件的控件类型。允许添加控件并自定义。
    Document
元素:帮助实现文档提交。主要分为 Inline Block 元素组,帮助设计的外观类似文档。一些有名的 Inline 元素有 Bold LineBreak, Italic Block 元素有 Paragraph, List, Block, Figure Table

    XAML
元素的属性与 .NET 类对象的属性类似, XAML 的面向对象特征使得它的行为与之前的 HTML 类似。每个属性(实际上是类属性)继承了父元素的属性或者重载(如果重新设置了属性)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值