X是映射XML名称空间时给他取的名字.X名称空间里面的成员是专门给XAML编译器看的.用来引导XAML编译器把XAML代码编译成CLR代码的,他是取的XAML的首字母X.
XAML有自己的编译器,会吧XAML语言解析并编译,最终形成中间语言存储在程序集中.
X命名空间里面包括三种,1,Attribute(属性,语言成面的),2,标记扩展,3,指令元素.至于没种类型下面有哪些名称,大家可以参考<<WPF深入浅出>>.
X:Class他的Attribute的作用是告诉编译器将XAML标签的编译结果与后台代码中指定的类合并.使用的时候需要注意1.只能用于根节点,2.根节点的类型要与x:Class的值所指示的类型保持一致3.声明时候必须使用partial关键字.
X:ClassModifier他的Attribute是告诉编译器由标签编译生成的类具有怎样的访问控制级别.需要注意的就是你在这个标签里面使用了什么访问级别,在cs的文件里面就得使用什么级别的,他两最终要合并,必须访问级别一样.
X:Name,当一个标签带有X:Name的时候除了为这边标签生成对应的实例外还要为这个实例声明一个引用变量.变量名就是X:Name的值.需要用这个控件的时候你直接用它的引用名字就可以引用这个控件了.做一个不恰当的比喻你就是可以把他想象成这个控件的id.
X:FieldModifier用来在XAML中改变引用变量的访问级别.比如你在一个程序集中访问另一个程序集中的窗口,因为默认是internal的,你要想访问只能用X:FieldModifier来改变他的访问级别.
X:Key就是为资源加上用于检索的索引.
X:Shard是用于确定我们每次从资源字典里面检索出的资源是个对象还是这个对象的副本.默认设置是true,也就是对象本身,如果想要他的副本那就设置成false,要与x:key结合用.
X:Type用于在XAML中想表达某个数据类型的时候就需要使用X:Type进行扩展.就比如说某个类的一个属性的值得是一个数据类型,在XAML中为这个属性赋值的时候就需要用X:Type.这个在写样式的时候很常见,比如你要定义所有的button的样式<style x:key=”{x:type Button}”/>
X:Null在XAML赋一个空值.
X:Array的作用是通过他的Items属性暴露一个类型已知的ArrayList实例.成员类型由他的Type指明.
X:Static的作用是使我们能够访问CS里面的static成员.
X:Code作用是把一些CS代码放到XAML里面,就可以用它,把代码放到X:Code标记里面,但很少这么做.
X:XData如果想在XAML里面声明一个带有数据的XmlDataProvider实例,数据就可以放到X:Data里面.