当前位置: 首页 > 图文教程 > XML家族 > XML > SixSix翻译的XAML教程 语法简介

XML
XML简易教程之四
XML与HTML的结合(上)
XML与HTML的结合(下)
XML入门的常见问题(一)
XML入门的常见问题(二)
XMLHTTP资料
什么是XML
什么是 XML Web Service
XML正在接管Web服务 成为SOA的基础
怎么样在网页上读取远程xml的数据
XML教程—编写结构完整的XML文档
读写xml文件的2个小函数
XML文档的基本操作
初学者如何开发出一个高质量的J2EE系统
优化 JavaScript 代码
自动更新程序的设计框架
使Firefox对XML的处理兼容IE的节点处理方法
WML学习之四 锚和任务
WML学习之五 显示表单
WML学习之六 事件

XML 中的 SixSix翻译的XAML教程 语法简介


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 166 ::
收藏到网摘: n/a

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
XAML 语法简介
本文介绍了如何使用几种不同的方法在XAML中创建对象和设置他们的属性。
主题包括以下几个部分:
什么是XAML?
声明对象
设置属性
其他相关主题
什么是XAML
XAML是一种陈述性语言。你可以使用XAML标记创建可视化的UI原件。 之后,你可以在一个单独的文件中使用JavasScript来操作你在XAML所声明的对象、响应一些事件。作为一种以XML为基础的陈述性语言,它创建界面时,从原型到产品的过程非常直观,尤其是对于有网页设计背景知识和技术的人。
XAML文件通常是以.xaml为后缀的XML文件。下面是一个典型的Silverlight XAML文件例子。.XAML
<Canvas
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Rectangle
Width="100"
Height="100"
Fill="Blue" />
</Canvas>
声明对象
在XAML中,有以下几种方式声明对象和设置它们的属性::
Object element syntax: 使用开放的和封闭的标签来声明对象,就像XML一样。你可以使用这种方法来声明根元素和设置它们的属性值。
Attribute syntax: 使用内嵌来声明对象。你可以使用这种方法来设置一个属性的值。.
Object element syntax
一种典型的使用Object element syntax来声明对象的方法。.首先你要创建两个XML元素标签:
<objectName>
</objectName>

... objectName 是你想要实例化的对象的名字。下面的例子使用Object element syntax声明一个Canvas。XAML
<Canvas>
</Canvas>

一些对象, 比如Canvas, 可以包含其他对象。.XAML
<Canvas>
<Rectangle>
</Rectangle>
</Canvas>

为了方便,如果一个对象里不包含其他对象,那么可以只使用一个标签来描述它XAML
<Canvas>
<Rectangle />
</Canvas>
使用Attribute syntax声明对象
见下一部分, 设置属性, 获得更多有关attribute syntax的信息。
设置属性
使用 object element syntax,你可以在声明对象的时候设置它的属性. 在XAML中,有几种方法可以设置属性: 使用 attribute syntax, 或使用 property element syntax.
通过Attribute syntax设置属性

<objectNameproperty="propertyValue">
</objectName>

... property 是属性名称,你会将propertyValue 的值赋到它的身上。 下面的例子展示了如何使用attribute syntax 来设置一个Rectangle的Width, Height, 和 Fill .XAML
<Canvas>
<Rectangle
Width="100"Height="100"Fill="Blue" />
</Canvas>

使用 Property Element Syntax设置属性
一些属性可以通过property element syntax来设置. 你通过创建XML elements来描述你想要的属性, 例如:
<objectName>
<objectName.property>
<propertyValue ... />
</objectName.property>
</objectName>

... property 是属性名称,你会将propertyValue 的值赋到它的身上. 下面的例子展示了如何使用 property element syntax 来设置一个Rectangle的Fill ,使用a SolidColorBrush.XAML
<Canvas>
<Rectangle
Width="100"
Height="100">
<Rectangle.Fill>
<SolidColorBrush />
</Rectangle.Fill>
</Rectangle>
</Canvas>
使用 Content Element Syntax设置属性
有时候,当一个属性支持element syntax,你可以忽略属性名,直接将属性值内嵌在对象标签里。这就是content element syntax. 下面的例子展示了怎样不指定 Text 属性,设置TextBlock的 Text 属性值 。XAML
<TextBlock>
Hello!
</TextBlock>
使用 Implicit Collection Syntax设置属性
有时候, 一个属性表现为一个集合, 你可以忽略集合名字,直接设置属性值。这就是implicit collection syntax.。下面的例子展示了对于LinearGradientBrush 如何忽略GradientStopCollection ,以及直接指定 GradientStop 对象。 GradientStopCollection 包含在第一个LinearGradientBrush中,,但在第二个里被忽略了。XAML
<Rectangle Width="100" Height="100"
Canvas.Left="0" Canvas.Top="30">
<Rectangle.Fill>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<!-- Here the GradientStopCollection tag is specified. -->
<GradientStopCollection>
<GradientStop Offset="0.0" Color="Red" />
<GradientStop Offset="1.0" Color="Blue" />
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>

<Rectangle Width="100" Height="100"
Canvas.Left="100" Canvas.Top="30">
<Rectangle.Fill>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<!-- Notice that the GradientStopCollection tag
is omitted. -->
<GradientStop Offset="0.0" Color="Red" />
<GradientStop Offset="1.0" Color="Blue" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>

有时你甚至可以同时忽略集合元素标签和属性元素标签::XAML
<Rectangle Width="100" Height="100"
Canvas.Left="200" Canvas.Top="30">
<Rectangle.Fill>
<LinearGradientBrush>
<GradientStop Offset="0.0" Color="Red" />
<GradientStop Offset="1.0" Color="Blue" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
什么时候使用Attribute或Property Element Syntax设置属性
所有属性都支持attribute 或property element syntax, 一些属性支持其他方法. 设置属性所支持的方法取决于属性值所认可的对象类型。.
如果属性值是简单类型, 比如 Double, Integer,String, 这种属性只支持 attribute syntax . 下面的例子展示了如何使用 attribute syntax 设置Rectangle的Width.Width属性支持Attribute syntax,因为他的属性值是Double类型。 XAML
<Rectangle Width="100" />
是否可以使用attribute syntax取决于你使用于设置属性的对象是否支持attribute syntax.下面的例子展示了使用 attribute syntax 设置一个Rectangle的 Fill属性。在你使用SolidColorBrush去设置Fill属性的时候,它是支持attribute syntax的,因为SolidColorBrush支持attribute syntax. XAML
<Rectangle Fill="Blue" />
是否能够使用element syntax 设置属性取决于你使用的对象是否支持。如果对象支持object element syntax,属性才支持property element syntax 。下面的例子展示了使用property element syntax 设置一个Rectangle的Fill.当你使用SolidColrBrush设置Fill的时候,它是支持attribute syntax的,因为SolidColorBrush支持attribute syntax 。. XAML
<Rectangle>
<Rectangle.Fill>
<SolidColorBrush />
</Rectangle.Fill>
</Rectangle>
See Also
Silverlight Object Models