理解Xaml标记语言
理解XAML
XAML基于XAML,因而具有与XAML相似的特性。在XAMl中,同样必须区分大小写,但是Xaml以.xaml作为扩展名,表示这是一个应用程序的标记扩展文件。WPF中的XAML主要用于创建用户UI,然后使用代码隐藏部分文件来分离表现与逻辑表现。
XAML 是什么
在WPF中,XAML是一种与.NET CLR紧密集成的声明性UI标记语言。XAML中的对象元素均一一对应到CLR中的类型或结构。XAML属性(Attribute)对应到相应CLR类型的属性(property)。XAML命名空间对应到CLR中的类的命名空间,元素类型则
对应到CLR中的类型,这就是说,用XAML所能做到的事情,也可以使用传统的程序代码进行实现,但是用传统程序代码所能实现的事情用XAML则不一定能成功。
<Windows heiht="200" width="500"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <!-- 先将windows的heiht="200" width="500"--> <Grid Background="beige"> <!-- 定义一个三行二列的网格--> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <!-- 在每行和每列分别放置分本快--> <TextBlock Grid.Column="0" Grid.Row="0" >书名</TextBlock> <TextBlock Grid.Column="0" Grid.Row="1" Text="学习" /> <TextBlock Grid.Column="1" Grid.Row="0" Text="上学" /> </Grid> </Windows>
在这段代码中,有如下几个部分组成。
一个根元素<Windows>和</Windows> 标记。在XAML中,必须有且直能有一个根元素。
- 紧接着根元素的是XAML命名空间的声明,在没一个XAML文件中,必须要具有两个命名空间。xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation命名空间
表示WPF命名空间,也就是没一个XAML元素所对应到的CLR类的命名空间。而xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml 则用于表示XAML文件本身的命名空间。注意其语法是
Xmlns:x这个x是一个命名的前缀,可以是任意字符。
- 接下来是<Grid>和</Grid>标记,代表次此XAML文件的UI内容,本实例使用了两行三列的网格来进行用户界面的布局,并在行列中分别放置了6个TextBlock元素,
- TextBlock是文本元素,在该元素中使用WPF的附加属性特性设定其位于Grid中的位置。
XAML的种类
在.NET Framework 4.5平台中,实际上存在几种不同的XAML。主要有如下几种类型的应用
用于WPF的XAML: 包含用于描述WPF内容的元素,比如矢量图形,控件和文档等,这是当前XAML最重要的应用
用于XPS的XAML: 属于WPF XAML的一部分,用于定义格式化电子文档的XML描述
用于SIlverlight 的XAML: 同样地,用户Silverlight的XAML也是WPF XAML的一个子集,主要用户Silverlight应用程序。Silverlight是一个跨平台的浏览器插件,允许开发人员创建富WEB内容,
包含二维绘图,动画和音视频等。