XAML——Vista标记语言

来源:百度文库 编辑:神马文学网 时间:2024/04/29 13:36:53
在Avalon中,你使用XAML标记语言来建立应用程序的UI。使用XAML建立UI的过程与建立HTML页面的过程相似。你使用标记来呈现(render)那些希望显示在页面上的控件。XAML与HTML不同,它是基于XML的,因此你必须确保XAML页面严格地遵循XML的规则,例如元素(element)和属性(attribute)的名称是大小写敏感的,必须恰当地为属性提供值,等等。
XAML中的每个元素都被映射为一个类,属性(attribute)则被映射为属性(property)。编译XAML应用程序的时候,UI被转换为对象模型(object-model)代码并使用局部(partial)类与后台代码组合在一起。因此,除了使用XAML生成UI之外,你还可以使用代码编程来建立UI。在本文后面我将为你解释后台代码的使用方法。
目前的WinFX SDK不支持任何用于建立XAML UI的可视化编辑器,但是毫无疑问,微软不久就会发布一个。到时候你就可以手动编写XAML页面了。与WinFX SDK一起提供的XAMLPad编辑器允许你快速地建立和测试那些用XAML建立的用户界面。
载入XAMLPad的步骤是“开始->程序->微软WinFX SDK ->工具-> XAMLPad”。
XAMLPad编辑器窗口被分成两个面板:你在下面的面板中输入XAML代码,上面的面板将根据你输入的XAML代码实时地显示UI。XAMLPad易于使用,不需要你编译。现在我将介绍少量的简单练习内容,用于演示Avalon可以建立的不同类型的应用程序。
我们开始建立示例应用程序,在XAMLPad中输入下面的代码:
<StackPanel Background="LightBlue" xmlns="http://schemas.microsoft.com/winfx/avalon/2005">
<Button Name="Button1" Width="100" HorizontalAlignment="Left" Margin="10,10,10,5">
This is a button
</Button>
<TextBlock HorizontalAlignment="Left" Margin="10,5,10,5">
This is atextblock
</TextBlock>
<TextBox Name="Button1" Width="200" HorizontalAlignment="Left" Margin="10,5,10,5">
This is a textbox
</TextBox>
</StackPanel>
输入完成以后,你将看到XAMLPad呈现的UI(图1所示)。

图1:呈现UI的 XAMLPad。XAMLPad上面的面板实时地呈现下面的面板中输入的代码。
如果XAML代码中有错误,代码将会显示为红色,错误信息会出现在屏幕底部。
现在仔细查看一下你刚刚输入的代码。首先,StackPanel元素处理页面的布局,同时作为其它控件(例如按钮和文本框)的容器。StackPanel控件把自己所包含的控件排列成一条线,要么水平排列,要么垂直排列。在默认情况下,对齐方式是垂直的,也就是一个控件在另外一个控件的上面(图1所示)。如果要水平地排列控件,只需要简单地把StackPanel元素的Orientation属性设置为“Horizontal”(图2所示)。

图2:水平排列控件。
通过把StackPanel 元素的Orientation属性设置为Horizontal,还可以改变控件默认的垂直排列方式。
Button元素在页面上显示一个按钮。在默认情况下,按钮的宽度刚刚能够容纳你所设置的文本(使用该元素的文本内容设置)。但是,你可以通过设置Width属性手动地调整按钮控件的宽度。你可以使用HorizontalAlignment属性来调整的按钮元素的位置。Margin(页边空白)属性在控件上设置了一个不可见的包装,这样就保证了控件之间有最小的距离,因此避免了控件偶然的“重叠”(图3所示)。Margin属性的值按次序设置——分别是“左、上、右、下”。

图3:使用Margin属性。
按钮控件被“空白”包围着,可以防止其它控件被放置得过于靠近。
TextBlock元素在页面上显示标签(平面文本内容不能被选中或改变),TextBox控件在页面上显示文本框(用户可修改的文本)。
第1页:XAML——Vista标记语言第2页:更复杂的UI第3页:Avalon应用程序第4页:Avalon Express应用程序