1:x名称空间里的成员是专门写给xaml编译器看,用来引导xaml编译器把xaml代码编译成CLR代码的。(x仅仅是xaml的首字母)。
2:attribute 是语言层面的东西,是给编译器看的,Property是面向对象层面的东西,是给编程逻辑用的。在使用xaml编程的时候,如果你想给他加上一些特殊的标记从而影响xaml编译器对他的解析,这时候就需要额外为他添加一些attribute。 比如你想告诉xaml编译器将编译结果与那个c#编译的类合并,这时候就必须为这个标签添加x:Class="目标类名"这样一个attribute以告知xaml编译器。x:class这个attribute并不是对象成员,而是我们把它从X名称空间里拿出来硬贴上去的。
3:X:Name‘当一个标签带有X:Name时除了为这个标签生成对应的实例外还要为这个实例声明一个引用变量,变量名就是X:Name的值。’
4:x:FieldModifier ‘就是用来在xaml里改变引用变量访问级别的。 例: <stackPanel> <textbox x:Name="txtname" x:FieldModifier="public" Margin="5"/> </stackPanel>
5:x:key的作用就是为资源贴上用于检索的索引。把对象当做资源放进资源字典里面,在把他们检索出来重复使用。可以通过FindResource的方式来搜索
6:x:Shared ,x:shared要和x:key配合使用。x:shared=true 说明检索到的对象是同一个对象。如果为FALSE 说明,我们得到的是这个对象的副本,默认情况下XAML编译器会为资源隐藏添加x:shared=true。默认得到的是同一个对象。
7,x:type,x:null
8.x:Array:通过它的items属性向使用者暴漏一个类型已知的ArrayLIST实例,arratlist内部成员的类型由x:Array的type指明
<ListBox Margin="5" ItemsSource="{x:Array Type=sys:String}"/> <ListBox Margin="5"> <ListBox.ItemsSource> <x:Array Type="sys:String"> <sys:String>Tim</sys:String> <sys:String>Tom</sys:String> <sys:String>Victor</sys:String> </x:Array> </ListBox.ItemsSource>
9. x:Static 在xaml文档中使用数据类型的static成员,因为XAML不能编写逻辑代码