XAML基于XML,因此在编写XAML时,必须严格遵守XMl的语法,如果读者还不是很了解XML的语法可以参考如下网站
http://www.w3schools.com/xml/
WPF中的XAML具有如下自身的特性:
- 每个XAML文档都映射到一个.NET类的实例。元素名将与.NET 类名严格的匹配。
比如UnderstandXAMLDemol中的<Grid>就严格匹配到一个Grid对象。
- 在XMl文档中,可以在一个元素中嵌套另一个元素,这种嵌套关系将会形成一个元素的树状结构
- 可以通过设置元素属性来为每个类的属性赋值。XAML提供提供了属性元素语法来为复杂的属性进行赋值。
- 与XML相似,每个XAMl文件都只能有一个根元素,并且必须具有两个命名空间
命名空间
1.xmlns=http://schemas.microsoft.com/winfx/2006/xaml/persentation 里面包含所有控件的信息如
system.windows:提供一薛这个I表个态的WPF基元素类、何种支持WPF属性系统和事件逻辑的类以及由WPF核心和框架更加广泛使用的其他类型
system.Windows.Automation:提供对WPFUI动画的支持
...........
....................................等
2.第二个命名空间则是应用于XAML文件本身的命名空间,通常指定X为前缀。比如,X:class用于指定XAMl文件的后之类,或者用于控制资源访问而指定X:Key属性,为
资源指定一个键名。XAMl命名空间有如下的一些X为前缀的语言功能。
X:Array 标记扩展
X:Class 属性:
X:ClassModifier属性
X:COdeXAML指令元素
X:FieldModifier 属性
X:Key 属性
X:Name 属性
X:Null 标记扩展
X:Shared 属性:
X:Static 标记扩展
X:SubClass 属性
X:Type 标记扩展
X:TypeArguments 属性
X:Uid 属性
X:XDataXaml指令元素
代码后置文件:
当使用vs2012中的WPF模板创建一个窗体或者是页面时,vs2012自动会生成一个形影XAML文件扩展名在加.cs的代码后置文件
通常这个文件是开发人员的工作地点,当设计人员使用任何其他设计工具设计好用户界面时,开发人员需要完成一些逻辑的功能代码的编写
比如事件响应代码,通过这个后置代码文件,就可以很轻松地实现,XAML中通过使用X:class语法关联到一个特定的后置类,例如,创建一个名为myWPF的页面后,vs2012生成
的代码如下:
<Page x:Class"xingmu.myWPF" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid Background="beige"> </Grid> </Page>
X:calss指定后置类为xingmu.myWPF,可以打开后置文件代码,看到一个名为xiangmu的命名空间中,有一个局部类myWPF。X:Clas将告诉XAML解析器,使用指定的名称来产生一个新的类,
这个类将派生子XAML根元素类。因此可以看到,在代码后置文件中,myWPF是一个派生子page的类