04_名称空间详解

备注:类关系结构图如下:

在这里插入图片描述

X 名称空间

  • X 名称空间映射的是 http://schemas.microsoft.com/winfx/2006/xaml。
  • X 名称空间包含的东西可以分为 Attribute、标记扩展和 XAML 指令元素三类。
    在这里插入图片描述

X 名称空间中的 Attribute

x:Class

这个 Attribut 的作用是告诉 XAML 编译器将 XAML 标签的编译结果与后台代码指定的类合并,在使用 x:Class 时必须遵循以下要求。

  • 这个 Attribute 只能用于根节点,意思是 XAML 代码第一行。
  • 使用 x:Class 的根节点的类型要与 x:Class 的值所指示的类型保持一致。
  • x:Class 的值所指示的类型在声明时必须使用 partial 关键字。
x:ClassModifier

这个 Attribut 的作用是告诉 XAML 编译器由标签编译生成的类具有怎么样的访问控制级别。

  • 标签必须具有 x:Class 属性
  • x:ClassModifier 的值必须与 x:Class 所指示类访问控制级别一致。
  • x:ClassModifier="internal".
x:Name

x:Name 的作用有两个:

  • 告诉 XAML 编译器,当一个标签带有 x:Name 时,除了为这个标签生成对应实例外,还要为这个实例声明一个引用变量,变量名就是 x:Name 的值。
  • 将 XAML 标签所对应对象的 Name 属性(如果有)也设为 x:Name 的值,并把这值注册到 UI 树上,以方便查找。
  • Name 属性是定义在 FrameworkElment 类中,然后 x:Name 的范围比 Name 稍微广些。
x:FieldModifier

默认情况下,这些字段的访问级别按照面对对象的封装原则被设置成 internal,如果需要改变就采用该属性。注意,如果写该属性,前提是有 x:Name 属性。
在这里插入图片描述

x:Key

WPF 中,我们可以把需要多次使用的内容提取出来放在资源字典中。几乎每个元素都有自己的 Resources 属性,这个属性是 Key-Value 式集合。其中的 Key 就是用 x:Key 来写。

一个例子
在这里插入图片描述

X 名称空间中的标记扩展

x:Type 和 x:Null 你都知道怎么用
x:Array

他是一个同种类型的数组。
在这里插入图片描述备注:别忘了添加命名空间 xmlns:sys="clr-namespace:System:assembly=mscorlib"

x:Static

作用:用来在 XAML 中访问 C# 语法中声明的 static 成员。
在这里插入图片描述

X 名称空间中的指令元素

x:Code

作用是:把 C# 中的代码放在 XAML 中去,但是一般没人那么做。

x:XData

作用是:和 XmlDataProvider 联合一起使用,提供数据源。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42310008/article/details/112791953
04_