时间:2021-05-26
[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>
<!--HeretheGradientStopCollectiontagisspecified.-->
<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>
<!--NoticethattheGradientStopCollectiontag
isomitted.-->
<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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
公司简介翻译现状。应该来说,公司简介的翻译在近些年来已经有了长足的进步,但研读大量公司网络版中英文简介后,笔者发现公司简介英译仍然存在着如下突出问题:(1)拘泥
企业简介网站翻译的文本类型及翻译策略。翻译作为一个翻译公司的核心内容,研究创新翻译方法使其更具灵活性和趣味性能够在很大程度上增强网站文本的可读性,从而在一定程度
oemapplicationprofile是OEM的应用简介,OEM是英文OriginalEquipmentManufacturer的缩写,应翻译成原始设备制造
在介绍这一篇文章之前,我们首先来回顾一下WPF中的一些基础的概念,首先当然是XAML了,XAML全称是ExtensibleApplicationMarkup
word中自带了翻译功能,可以直接翻译整片文章,或者翻译部分需要的内容,该怎么使用翻译功能呢?下面我们就来看看详细的教程。软件名称:office2019专业增强