xaml语言是一种基于通用xml语法,专门用于表示一棵.net对象树的语言。
在使用xaml语言开发wpf界面中,xaml不仅要能够解决设计协作的问题,还需要能够快速地运行。在使用Visual Studio中编译WPF应用程序时,所有的xaml语言都会被转换成BAML(Binary Application Markup Language),BAML就是xaml的二进制表示方式。BAML最终会以资源的形式嵌入到DLL或者EXE程序集中,BAML是标记化的,在程序运行时能够被更快的解析。
xaml语言的一些基本标准如下:
- xaml文档中的每个元素都会被映射为.net类中的一个实例。元素的名称也完全对应于类名。例如在xaml语言中标记一个<Button>就代表在wpf中创建Butto对象;
- xaml语言同标准的xml语言一样可以被嵌套使用,但嵌套也有一定的规则,例如在内容控件中就只能嵌套一个内容;
- xaml可以通过特性去设置每个类的属性,但在某些情况下,特性不足以完成这项工作,对于这种情况,就需要通过特殊的语法使用嵌套的标签(tag);
xaml中的顶级元素:
在xaml文档中有且只能有一个顶级元素,在讨论这个问题之前先看一下下面的这个空白窗体的代码:
<Window x:Class="WPF学习.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WPF学习"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
</Grid>
</Window>
该空白窗体中包含两个元素,即顶级元素Window和Girid元素,Window代表整个窗体对象,在Gird元素中可以放置所有的想放置的控件。与标准的xml文档一样,xaml中有且只能有一个顶级元素,在上面的窗体代码中使用</Window>标签关闭了Window元素,就代表文档结束了。在后面就不能再添加任何内容。
在wpf中,只能使用一下几个元素作为顶级元素:
- Window元素:代表一个窗体对象;
- Page元素:和Window元素类似,但它使用在可导航的窗体界面;
- Application元素:该元素定义应用程序资源和启动设置;