Windows Phone 7 XAML基础之根元素说明

一, XAML代码头部说明:

<phone:PhoneApplicationPage 
x:Class="myFirstApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
</phone:PhoneApplicationPage>

二,命名空间:

根元素中定义了两个最基本的命名空间

http://schemas.microsoft.com/winfx/2006/xaml/presentation

是核心Silverlight命名空间.它包含所有的Silverlight中的类,

包括Grid,StackPanel,TextBlock以及Button等。

通常,这个命名空间没有使用命名空间前缀来声明,

因此它就成了整个XAML文档的默认命名空间,

也就是说,除非你特别指明,每一个元素都会被自动放入这个命名空间中。

http://schemas.microsoft.com/winfx/2006/xaml

是XAML命名空间.它包含多种XAML功能,可以让你控制文档如何被解析.

这个命名空间通常会映射到x前缀.

上面两个命名空间基本上就可以让你访问Silverlight元素的核心库了。

不过如果你觉得不够,你还可以自定义命名空间,下面是自定义命名空间的语法.

语法:

xmlns:w="clr-namespace:Widgets;assembly=Widgets"

...

XML命名空间声明设定了3方面的信息:

1,XML命名空间前缀.不要与其它的命名空间前缀冲突。

2,.NET命名空间.在此例中.类被放置在Widgets命名空间中.

3,程序集.在此例中,所使用的类是Widgets.dll程序集的一部分。

假设你已经在Silverlight应用程序中添加了指向Widgets程序集的引用,

它将会被自动包含进最终的XAP包里。

一旦将.NET命名空间映射到XML命名空间,

你就可以在XAML文档的任何地方使用它。

三,生成类:

<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
</UserControl>

1,前缀"x:"是标准XML缩写,它表示这个特定的属性是由命名空间中的xmlns:x属性所指定.

2,对于XAML编译器来说,x:Class属性就意味着需要生成基于XAML文件的类定义,

而x:Class属性就是决定所生成的类名字,并且将它派生自根元素.

在这里,所生成的类名为MainPage,它的基类为UserControl.

3,你不一定要指定一个x:Class属性.假如我们忽略这个示例中的属性,

那么根对象的类型将是UserControl,而不是生成的MainPage类.不过一般会指定这个属性.

4,在选择了生成一个类时,它会提供一个通过XAML描述的简便方法来创建对象树.

由于我们所生成的每一个MainPage实例都将包含一系列由XAML指定的对象,因此我们只需要使用普通的对象构造语法,如:

MainPage myMainPage=new MainPage();

 


posted @ 2012-03-09 17:18  sphinx007  阅读(341)  评论(0编辑  收藏  举报