手机
当前位置:查字典教程网 >编程开发 >XML/RSS >SixSix翻译的XAML教程 语法简介
SixSix翻译的XAML教程 语法简介
摘要:[Thistopicispre-releasedocumentationandissubjecttochangeinfuturereleas...

[Thistopicispre-releasedocumentationandissubjecttochangeinfuturereleases.Blanktopicsareincludedasplaceholders.]

XAML语法简介

本文介绍了如何使用几种不同的方法在XAML中创建对象和设置他们的属性。

主题包括以下几个部分:

什么是XAML?

声明对象

设置属性

其他相关主题

什么是XAML

XAML是一种陈述性语言。你可以使用XAML标记创建可视化的UI原件。之后,你可以在一个单独的文件中使用JavasScript来操作你在XAML所声明的对象、响应一些事件。作为一种以XML为基础的陈述性语言,它创建界面时,从原型到产品的过程非常直观,尤其是对于有网页设计背景知识和技术的人。

XAML文件通常是以.xaml为后缀的XML文件。下面是一个典型的SilverlightXAML文件例子。.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中,有以下几种方式声明对象和设置它们的属性::

Objectelementsyntax:使用开放的和封闭的标签来声明对象,就像XML一样。你可以使用这种方法来声明根元素和设置它们的属性值。

Attributesyntax:使用内嵌来声明对象。你可以使用这种方法来设置一个属性的值。.

Objectelementsyntax

一种典型的使用Objectelementsyntax来声明对象的方法。.首先你要创建两个XML元素标签:

<objectName>

</objectName>

...objectName是你想要实例化的对象的名字。下面的例子使用Objectelementsyntax声明一个Canvas。XAML

<Canvas>

</Canvas>

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

<Canvas>

<Rectangle>

</Rectangle>

</Canvas>

为了方便,如果一个对象里不包含其他对象,那么可以只使用一个标签来描述它XAML

<Canvas>

<Rectangle/>

</Canvas>

使用Attributesyntax声明对象

见下一部分,设置属性,获得更多有关attributesyntax的信息。

设置属性

使用objectelementsyntax,你可以在声明对象的时候设置它的属性.在XAML中,有几种方法可以设置属性:使用attributesyntax,或使用propertyelementsyntax.

通过Attributesyntax设置属性

<objectNameproperty="propertyValue">

</objectName>

...property是属性名称,你会将propertyValue的值赋到它的身上。下面的例子展示了如何使用attributesyntax来设置一个Rectangle的Width,Height,和Fill.XAML

<Canvas>

<Rectangle

Width="100"Height="100"Fill="Blue"/>

</Canvas>

使用PropertyElementSyntax设置属性

一些属性可以通过propertyelementsyntax来设置.你通过创建XMLelements来描述你想要的属性,例如:

<objectName>

<objectName.property>

<propertyValue.../>

</objectName.property>

</objectName>

...property是属性名称,你会将propertyValue的值赋到它的身上.下面的例子展示了如何使用propertyelementsyntax来设置一个Rectangle的Fill,使用aSolidColorBrush.XAML

<Canvas>

<Rectangle

Width="100"

Height="100">

<Rectangle.Fill>

<SolidColorBrush/>

</Rectangle.Fill>

</Rectangle>

</Canvas>

使用ContentElementSyntax设置属性

有时候,当一个属性支持elementsyntax,你可以忽略属性名,直接将属性值内嵌在对象标签里。这就是contentelementsyntax.下面的例子展示了怎样不指定Text属性,设置TextBlock的Text属性值。XAML

<TextBlock>

Hello!

</TextBlock>

使用ImplicitCollectionSyntax设置属性

有时候,一个属性表现为一个集合,你可以忽略集合名字,直接设置属性值。这就是implicitcollectionsyntax.。下面的例子展示了对于LinearGradientBrush如何忽略GradientStopCollection,以及直接指定GradientStop对象。GradientStopCollection包含在第一个LinearGradientBrush中,,但在第二个里被忽略了。XAML

<RectangleWidth="100"Height="100"

Canvas.Left="0"Canvas.Top="30">

<Rectangle.Fill>

<LinearGradientBrush>

<LinearGradientBrush.GradientStops>

<>

<GradientStopCollection>

<GradientStopOffset="0.0"Color="Red"/>

<GradientStopOffset="1.0"Color="Blue"/>

</GradientStopCollection>

</LinearGradientBrush.GradientStops>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

<RectangleWidth="100"Height="100"

Canvas.Left="100"Canvas.Top="30">

<Rectangle.Fill>

<LinearGradientBrush>

<LinearGradientBrush.GradientStops>

<>

<GradientStopOffset="0.0"Color="Red"/>

<GradientStopOffset="1.0"Color="Blue"/>

</LinearGradientBrush.GradientStops>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

有时你甚至可以同时忽略集合元素标签和属性元素标签::XAML

<RectangleWidth="100"Height="100"

Canvas.Left="200"Canvas.Top="30">

<Rectangle.Fill>

<LinearGradientBrush>

<GradientStopOffset="0.0"Color="Red"/>

<GradientStopOffset="1.0"Color="Blue"/>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

什么时候使用Attribute或PropertyElementSyntax设置属性

所有属性都支持attribute或propertyelementsyntax,一些属性支持其他方法.设置属性所支持的方法取决于属性值所认可的对象类型。.

如果属性值是简单类型,比如Double,Integer,String,这种属性只支持attributesyntax.下面的例子展示了如何使用attributesyntax设置Rectangle的Width.Width属性支持Attributesyntax,因为他的属性值是Double类型。XAML

<RectangleWidth="100"/>

是否可以使用attributesyntax取决于你使用于设置属性的对象是否支持attributesyntax.下面的例子展示了使用attributesyntax设置一个Rectangle的Fill属性。在你使用SolidColorBrush去设置Fill属性的时候,它是支持attributesyntax的,因为SolidColorBrush支持attributesyntax.XAML

<RectangleFill="Blue"/>

是否能够使用elementsyntax设置属性取决于你使用的对象是否支持。如果对象支持objectelementsyntax,属性才支持propertyelementsyntax。下面的例子展示了使用propertyelementsyntax设置一个Rectangle的Fill.当你使用SolidColrBrush设置Fill的时候,它是支持attributesyntax的,因为SolidColorBrush支持attributesyntax。.XAML

<Rectangle>

<Rectangle.Fill>

<SolidColorBrush/>

</Rectangle.Fill>

</Rectangle>

SeeAlso

SilverlightObjectModels

【SixSix翻译的XAML教程 语法简介】相关文章:

在服务器端的XSLT过程中的编码问题

XML入门的常见问题(二)

WMLScript的语法基础

XML简易教程之三

WML语法大全与相关介绍第1/3页

关于XSL - XSL教程

用XSL翻译Web服务应用程序

XML简易教程之四

XML指南——XML 语法

XML和JSP的联手

精品推荐
分类导航