国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

SixSix翻譯的XAML教程 語法簡介

瀏覽:141日期:2022-06-04 14:12:35
[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.] 
XAML 語法簡介

本文介紹了如何使用幾種不同的方法在XAML中創(chuàng)建對象和設(shè)置他們的屬性。

主題包括以下幾個部分:
什么是XAML?  
聲明對象 
設(shè)置屬性 
其他相關(guān)主題
什么是XAML

XAML是一種陳述性語言。你可以使用XAML標(biāo)記創(chuàng)建可視化的UI原件。 之后,你可以在一個單獨的文件中使用JavasScript來操作你在XAML所聲明的對象、響應(yīng)一些事件。作為一種以XML為基礎(chǔ)的陳述性語言,它創(chuàng)建界面時,從原型到產(chǎn)品的過程非常直觀,尤其是對于有網(wǎng)頁設(shè)計背景知識和技術(shù)的人。

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中,有以下幾種方式聲明對象和設(shè)置它們的屬性::
Object element syntax: 使用開放的和封閉的標(biāo)簽來聲明對象,就像XML一樣。你可以使用這種方法來聲明根元素和設(shè)置它們的屬性值。 
Attribute syntax: 使用內(nèi)嵌來聲明對象。你可以使用這種方法來設(shè)置一個屬性的值。. 
Object element syntax

一種典型的使用Object element syntax來聲明對象的方法。.首先你要創(chuàng)建兩個XML元素標(biāo)簽:
<objectName> 

</objectName> 


... objectName 是你想要實例化的對象的名字。下面的例子使用Object element syntax聲明一個Canvas。XAML
<Canvas>
</Canvas>


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


為了方便,如果一個對象里不包含其他對象,那么可以只使用一個標(biāo)簽來描述它XAML
<Canvas>
  <Rectangle />
</Canvas>

使用Attribute syntax聲明對象
見下一部分, 設(shè)置屬性, 獲得更多有關(guān)attribute syntax的信息。
設(shè)置屬性

使用 object element syntax,你可以在聲明對象的時候設(shè)置它的屬性. 在XAML中,有幾種方法可以設(shè)置屬性: 使用 attribute syntax, 或使用  property element syntax.
通過Attribute syntax設(shè)置屬性


<objectNameproperty="propertyValue"> 

</objectName> 


... property 是屬性名稱,你會將propertyValue 的值賦到它的身上。 下面的例子展示了如何使用attribute syntax 來設(shè)置一個Rectangle的Width, Height, 和 Fill .XAML
<Canvas>
  <Rectangle                                   
    Width="100"Height="100"Fill="Blue" />
</Canvas>



使用 Property Element Syntax設(shè)置屬性

一些屬性可以通過property element syntax來設(shè)置. 你通過創(chuàng)建XML elements來描述你想要的屬性, 例如:
<objectName> 

  <objectName.property> 

    <propertyValue ... /> 

  </objectName.property> 

</objectName> 


... property 是屬性名稱,你會將propertyValue 的值賦到它的身上. 下面的例子展示了如何使用 property element syntax 來設(shè)置一個Rectangle的Fill ,使用a SolidColorBrush.XAML
<Canvas>
  <Rectangle
    Width="100" 
    Height="100"> 
    <Rectangle.Fill> 
      <SolidColorBrush /> 
    </Rectangle.Fill>
  </Rectangle>
</Canvas>

使用 Content Element Syntax設(shè)置屬性

有時候,當(dāng)一個屬性支持element syntax,你可以忽略屬性名,直接將屬性值內(nèi)嵌在對象標(biāo)簽里。這就是content element syntax. 下面的例子展示了怎樣不指定 Text 屬性,設(shè)置TextBlock的 Text 屬性值 。XAML
    <TextBlock>
      Hello!
    </TextBlock>

使用 Implicit Collection Syntax設(shè)置屬性

有時候, 一個屬性表現(xiàn)為一個集合, 你可以忽略集合名字,直接設(shè)置屬性值。這就是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> 


有時你甚至可以同時忽略集合元素標(biāo)簽和屬性元素標(biāo)簽::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設(shè)置屬性

所有屬性都支持attribute 或property element syntax, 一些屬性支持其他方法. 設(shè)置屬性所支持的方法取決于屬性值所認(rèn)可的對象類型。.
如果屬性值是簡單類型, 比如 Double, Integer,String, 這種屬性只支持 attribute syntax . 下面的例子展示了如何使用 attribute syntax 設(shè)置Rectangle的Width.Width屬性支持Attribute syntax,因為他的屬性值是Double類型。 XAML
<Rectangle Width="100" />

是否可以使用attribute syntax取決于你使用于設(shè)置屬性的對象是否支持attribute syntax.下面的例子展示了使用 attribute syntax 設(shè)置一個Rectangle的 Fill屬性。在你使用SolidColorBrush去設(shè)置Fill屬性的時候,它是支持attribute syntax的,因為SolidColorBrush支持attribute syntax. XAML
<Rectangle Fill="Blue" />

是否能夠使用element syntax 設(shè)置屬性取決于你使用的對象是否支持。如果對象支持object element syntax,屬性才支持property element syntax 。下面的例子展示了使用property element syntax 設(shè)置一個Rectangle的Fill.當(dāng)你使用SolidColrBrush設(shè)置Fill的時候,它是支持attribute syntax的,因為SolidColorBrush支持attribute syntax 。. XAML
<Rectangle>
  <Rectangle.Fill>
    <SolidColorBrush />
  </Rectangle.Fill>                                   
</Rectangle>

See Also 
Silverlight Object Models
標(biāo)簽: XML/RSS
相關(guān)文章:
主站蜘蛛池模板: 亚洲在线观看 | 一级毛片免费不卡 | 国产aⅴ精品一区二区三区久久 | 6一12呦女精品 | 三级做人爱c视频18三级 | 丝袜紧身裙国产在线播放 | 97国产精品 | 91国语对白 | 久久精品国产91久久综合麻豆自制 | 日韩女人做爰大片 | 性a爱片免费视频性 | 中日毛片 | 国内偷自第一二三区 | 欧美日韩一区二区视频免费看 | 欧美激情综合亚洲五月蜜桃 | 一级毛片aaa片免费观看 | 高跟丝袜美女一级毛片 | 一级毛片在线完整免费观看 | 在线观看免费视频国产 | 亚洲天堂网在线观看 | 女女互操 | 99在线免费视频 | 久久国产欧美日韩精品 | 男人的天堂中文字幕 | 国产高清免费视频 | 亚洲国产欧美目韩成人综合 | 国产六区 | 国产亚洲欧美ai在线看片 | 中文在线视频观看 | 在线日韩欧美一区二区三区 | 亚洲免费在线视频观看 | 欧美另类视频在线 | 久久手机精品视频 | 久久这| 97在线视频免费观看 | 国产成人a一在线观看 | 一区二区三区高清视频在线观看 | 国产激情视频网站 | 精品欧美亚洲韩国日本久久 | 澳门一级特黄真人毛片 | 亚洲一级高清在线中文字幕 |