• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SixSix翻译的XAML教程 语法简介
    [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
    上一篇:得到XML文档大小的方法
    下一篇:用Asp与XML实现交互的一个实例源码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SixSix翻译的XAML教程 语法简介 SixSix,翻译,的,XAML,教程,