silverlight3 学习 5.1 浅谈XAML语法
时间:2010-10-28 来源:base
XAML是由 Microsoft 开发的基于 XML 的标记语言。而XAML文件是一个具有“.XAML”扩展名的XML文件。XAML通过一种语言结构来显示多个对象之间的层次关系。大致的意思就是表现Silverlight的界面。和HTML语言相似;如果对HTML语言有所了解的话,那么对于XAML便可以轻松掌握。
2, Silverlight中的XAML
XAML最重要的是,界面和代码分离,美工人员可以放心的制作显示界面而不用考虑对后台代码会产生影响。XAML还可以与Expression Blend进行界面设计交换。
Silverlight XAML 文件的内容:
<UserControl x:Class="MySilverlight.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Grid Background="OldLace" x:Name = “MyGrid”>
</Grid>
</UserControl>
UserControl:从字面的意思解释为“用户控件”,不错它其实就是Asp.net用户控件的基类。也就是说每个XAML文件实际是继承自UserControl,这样每个XAML页面其实就是一个自定义用户控件,这样,我们就可以实现对XAML页面的重用、封装和移植。
x:Class:指定了当前XAML页面的后台类。
xmlns: 表示命名空间声明, http://schemas.microsoft.com/winfx/2006/xaml/presentation引用到Silverlight 核心库。
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
这是XAML语言所用到的命名空间,这个语句表示将 XAML语言 命名空间值映射到 x: 前缀
<Grid Background="OldLace">
</Grid>
声明一个Grid对象,Background则中Grid对象的属性。通过Name属性可以在后台代码中访问界面对象
3, XAML对象属性基本设置方式:属性语法,属性元素语法,内容元素语法
属性语法
<objectName propertyName="propertyValue" .../>
-或-
<objectName propertyName="propertyValue">
...<!—子元素 -->
</objectName>
第一种方式一般用在标记单一元素时使用,而第二种,一般用在拥有子元素对象时使用。
<Rectangle Name="Myrect" Width="100" Height="100" Fill="Blue" />
属性元素语法其实是把要设置的属性创建成一个XML元素
<object>
<对象.属性>
...<!—值-->
</对象.属性>
</object>
比较一下属性语法和属性元素语法
<Rectangle Name="MyRect2" Width="100" Height="100”>
<Rectangle.Fill>
<SolidColorBrush Color="Blue"/>
</Rectangle.Fill>
</Rectangle>
属性内容语法
大部分控件其实就是一个内容表示器,那么我们就可以为控件提供内容,这些内容根据控件模板显示出来。
<TextBlock>Hello World!</TextBlock>
总结:
XAML从根本上是基于XML语言的。所有XAML文件都是XML文件。XAML是基于XML一种扩展语言。