要想成为Silverlight 的开发高手,熟练通达XAML语法是必由之路。现在我们来一个空的XAML模板。 Silverlight 1.0 的模板是这样的:
<Canvas xmlns=="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<!--声明各种Silverlight对象、资源和动画声明-->
</Canvas>
Silverlight 2.0的模板是这样的:
<UserControl x:Class="DiggSample.Page"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<!--声明各种Silverlight对象、资源和动画声明-->
</UserControl>
这两个XAML模板,最上层的Root Element分别以<Canvas>---</Canvas>和<UserControl> --</UserControl>来声明,然后在其中开始声明格式各样的Silverlight对象。都有两样东西是一样的 xmlns=http://schemas.microsoft.com/client/2007 这是声明默认对应的命名空间,系统会将它当作默认值 xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml 以x:开头的XAML声明对应到这个个别的命名空间。 你的XAML至少需要声明第一个命名空间,你的Silverlight才能够运行,否则就会产生错误,第二个命名空间在许多场合会用得到,所以把它也加入当作默认的模板。基础模板之下就需要加入布局容器了,当然在Silverlight 1.0里面你可以把TextBlock阿等等直接放在<Canvas>...</Canvas>之间,不过那样调整版面就很不方便。通常会加入一个<Canvas>花布。 到了Silverlight 2.0在基础模板之后是必须加入布局容器的,然后才能添加Silverlight 控件,具体可参照Silverlight 教程第二部分:使用布局管理 (木野狐译)。Silverlight 2.0和Silverlight 1.0相比布局容器丰富多了,1.0只有一个Canvas,2.0拥有了WPF的三个容器了:Grid、Panel或Canvas.具体实例可参看Silverlight 教程第二部分:使用布局管理 (木野狐译)。不过这三个布局容器只能够选择一个,内部就可以任意嵌套了,非常的方便。