SixSix翻译的XAML教程 语法简介

2023-12-05 0 717

[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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 XML/RSS SixSix翻译的XAML教程 语法简介 https://www.u-9.cn/biancheng/xmlrss/97227.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务