亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

SixSix翻譯的XAML教程 語法簡介

2024-09-05 20:53:43
字體:
來源:轉載
供稿:網友
[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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美丰满片xxx777| 国产亚洲一区二区精品| 在线观看欧美视频| 国产精品白嫩初高中害羞小美女| 久久久久久欧美| 亚洲性视频网站| 久久精品国产免费观看| 日韩少妇与小伙激情| 国产精品无码专区在线观看| 久久不射电影网| 日韩av在线高清| 国产精品国产三级国产aⅴ浪潮| 亚洲国产婷婷香蕉久久久久久| 久久99久久亚洲国产| 国产精品亚洲美女av网站| 亚洲精品国产欧美| 欧美黑人国产人伦爽爽爽| 欧美精品18videos性欧美| xxxxx91麻豆| 久久久久99精品久久久久| 国产精品成人av性教育| …久久精品99久久香蕉国产| **欧美日韩vr在线| 国产精品国产福利国产秒拍| 亚洲网站视频福利| 热久久视久久精品18亚洲精品| 亚洲专区在线视频| 日韩视频精品在线| 九九久久久久99精品| 中文字幕av一区二区三区谷原希美| 中文字幕亚洲国产| xxx欧美精品| 亚洲成人教育av| 欧美久久精品一级黑人c片| 成人在线视频网| 欧美俄罗斯乱妇| 精品亚洲一区二区三区四区五区| 国产成人啪精品视频免费网| 色多多国产成人永久免费网站| 日韩精品福利网站| 亚洲а∨天堂久久精品9966| 欧美体内谢she精2性欧美| 日韩成人av一区| 国内自拍欧美激情| 欧美黄色性视频| 日韩中文字幕亚洲| 国产一区二区三区在线视频| 精品国产网站地址| 欧美日韩国产精品一区二区三区四区| 久久在线免费观看视频| 成人日韩av在线| 欧美电影在线免费观看网站| 最近的2019中文字幕免费一页| 亚洲第一精品福利| 性色av一区二区三区红粉影视| 久久久精品影院| 欧美国产日韩二区| 中文字幕v亚洲ⅴv天堂| 福利视频导航一区| 午夜剧场成人观在线视频免费观看| 91最新国产视频| 日韩精品有码在线观看| 日本老师69xxx| 久久久免费精品| 91在线免费看网站| 欧美情侣性视频| 亚洲人在线观看| 久久天天躁狠狠躁夜夜躁2014| 欧美日韩黄色大片| 国产香蕉97碰碰久久人人| 国产成人久久久精品一区| 蜜臀久久99精品久久久久久宅男| 精品国产欧美成人夜夜嗨| 欧美亚洲另类激情另类| 一区二区在线视频播放| 亚洲国产精品福利| 992tv成人免费视频| 97在线视频免费播放| 国语自产精品视频在线看一大j8| 大胆人体色综合| 久久精品男人天堂| 日韩成人激情视频| 国产一区二区三区视频| 欧美黄色小视频| 国产精品老女人精品视频| 欧美一乱一性一交一视频| 国产精品久久久久久久久久久久| 激情久久av一区av二区av三区| 亚洲欧洲国产一区| 国产精品一区二区三区久久久| 亚洲欧美综合精品久久成人| 欧美日韩性视频| 91精品视频免费看| 色综合男人天堂| 91高清免费在线观看| 亚洲欧美一区二区三区在线| 2019国产精品自在线拍国产不卡| 久久99精品久久久久久噜噜| 最好看的2019年中文视频| 日本不卡高字幕在线2019| 亚洲国产成人精品女人久久久| 亚洲女人天堂网| 欧美日韩国产123| 亚洲国产成人精品久久| 亚洲偷熟乱区亚洲香蕉av| 日本最新高清不卡中文字幕| 日韩中文字幕精品| 精品国产一区二区三区久久久| 97视频在线观看免费高清完整版在线观看| 精品日韩视频在线观看| 日韩av手机在线观看| 亚洲伊人久久大香线蕉av| 97在线观看免费高清| 日本不卡高字幕在线2019| 日韩中文字幕免费| 久久免费精品视频| 精品国产乱码久久久久久虫虫漫画| 成人性教育视频在线观看| 国产精品露脸自拍| 九九视频这里只有精品| 日日噜噜噜夜夜爽亚洲精品| 亚洲男女性事视频| 最近日韩中文字幕中文| 91美女片黄在线观| 日韩国产欧美区| 黄色精品在线看| 久久久久这里只有精品| 欧美性xxxxx| 欧美一区二区三区精品电影| 亚洲国产日韩欧美在线99| 中文字幕日韩在线观看| 欧美大片网站在线观看| 福利视频导航一区| 欧美亚洲一级片| 人人澡人人澡人人看欧美| 欧美激情女人20p| 另类天堂视频在线观看| 性欧美长视频免费观看不卡| 亚洲国产欧美一区二区丝袜黑人| 日韩免费精品视频| 久久精品国产久精国产思思| 国产精品91在线观看| 538国产精品一区二区在线| 欧美猛男性生活免费| 国产精品精品一区二区三区午夜版| 中文字幕av日韩| 美女扒开尿口让男人操亚洲视频网站| 国产精品视频午夜| 日韩一区二区久久久| 91久久久国产精品| 欧美性猛交xxxx偷拍洗澡| 亚洲第一网中文字幕| 精品动漫一区二区| 亚洲精品www久久久| 亚洲欧美日韩网| 亚洲欧美国产一区二区三区| 福利视频第一区| 亚洲а∨天堂久久精品喷水| 国产小视频91| 45www国产精品网站| 亚洲一区二区三区xxx视频| 国内精品400部情侣激情| 欧美日韩视频在线| 国产一区二区日韩|