电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

SixSix翻譯的XAML教程 語法簡(jiǎn)介

瀏覽:197日期: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 語法簡(jiǎn)介

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

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

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

XAML文件通常是以.xaml為后綴的XML文件。下面是一個(gè)典型的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>

聲明對(duì)象

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

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

</objectName> 


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


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


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

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

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


<objectNameproperty="propertyValue"> 

</objectName> 


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

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

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

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

有時(shí)候, 一個(gè)屬性表現(xiàn)為一個(gè)集合, 你可以忽略集合名字,直接設(shè)置屬性值。這就是implicit collection syntax.。下面的例子展示了對(duì)于LinearGradientBrush 如何忽略GradientStopCollection ,以及直接指定 GradientStop 對(duì)象。 GradientStopCollection 包含在第一個(gè)LinearGradientBrush中,,但在第二個(gè)里被忽略了。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> 


有時(shí)你甚至可以同時(shí)忽略集合元素標(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> 

什么時(shí)候使用Attribute或Property Element Syntax設(shè)置屬性

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

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

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

See Also 
Silverlight Object Models
標(biāo)簽: XML/RSS
相關(guān)文章:
主站蜘蛛池模板: 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | STRO|DTRO-STRO反渗透膜(科普)_碟滤 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 酸度计_PH计_特斯拉计-西安云仪 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 | 数显水浴恒温振荡器-分液漏斗萃取振荡器-常州市凯航仪器有限公司 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 深圳湾1号房价_深圳湾1号二手房源 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 质检报告_CE认证_FCC认证_SRRC认证_PSE认证_第三方检测机构-深圳市环测威检测技术有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 光照全温振荡器(智能型)-恒隆仪器 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 酸度计_PH计_特斯拉计-西安云仪 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 广州云仓代发-昊哥云仓专业电商仓储托管外包代发货服务 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 成都装修公司-成都装修设计公司推荐-成都朗煜装饰公司 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 磁力轮,磁力联轴器,磁齿轮,钕铁硼磁铁-北京磁运达厂家 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 造价工程师网,考试时间查询,报名入口信息-网站首页 | 京港视通报道-质量走进大江南北-京港视通传媒[北京]有限公司 |