x 名称空间中的 Attribute
1. x:class
告诉 XAML 编译器,当 XAML 解析器将包含它的标签解析成 C# 类后,这个类的类名是什么。
2. x:ClassModifier
告诉XAML编译器由标签编译生成的类具有怎样的访问控制级别。
需要注意的是:
(1)标签必须具有 x:class Attribute ;
(2)x:ClassModifier 的值必须与 x:class 所指示类的访问控制级别一致;
3. x:Name
(1)告诉 XAML 编译器,当一个标签带有 x:Name 时除了为这个标签生成对应实例外还要为这个实例声明一个引用变量,变量名就是 x:Name 的值;
(2)将 XAML 标签所对应对象的 Name 属性(如果有)也设为 x:Name 的值,并把这个值注册到UI树上,以方便查找。
4. x:FieldModifier
使用 x:Name 后,XAML 标签对应的实例就具有了自己的引用变量,而且这些引用变量都是类的字段。默认情况下,这些字段的访问级别是按照面向对象的封装原则被设置成了 internal。在编程的时候,有时我们需要从一个程序集访问另一个程序集中窗体的元素,这时候就需要把被访问控件的引用变量改为 public 级别,x:FieldModifier 就是用来在 XAML 里改变引用变量访问级别的。
需要注意的是:因为 x:FieldModifier 是用来改变引用变量访问级别的,所以使用 x:FieldModifier 的前提是这个标签同时使用 x:Name 。
5. x:Key
为资源贴上用于检索的索引,值可以作为 FindResource 的参数,用于在 C# 代码中检索资源。
6. x:Shared
告诉 XAML 编译器,通过 x:Key 检索到的资源是否是同一个对象。如果 x:Shared 的值为 true ,那么每次检索到这个对象时,我们得到的都是同一个对象;否则,如果 x:Shared 的值为 false ,每次我们检索到这个对象时,我们得到的都是这个对象的一个新副本。默认情况下,我们得到的都是同一个对象。
参考资料:《深入浅出WPF》 作者:刘铁猛 出版社:中国水利水电出版社 P32-38
版权声明:本文为博主原创文章,未经博主允许不得转载。