设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间09 现在时间09 缓存数据 随缘不是听天由命,而是用豁达的心态去面对生活。心累的时候,不如换个角度看世界。新的一天,早安。

随缘不是听天由命,而是用豁达的心态去面对生活。心累的时候,不如换个角度看世界。新的一天,早安。

查看: 1380|回复: 2

SixSix翻译的XAML教程 语法简介

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:203
  • 打卡月天数:0
  • 打卡总奖励:3127
  • 最近打卡:2023-08-27 09:14:04
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
406
主题
372
精华
0
金钱
4314
积分
810
注册时间
2022-12-25
最后登录
2025-5-31

发表于 2023-2-12 10:08:29 | 显示全部楼层 |阅读模式
[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
  xmlns="http://schemas.microsoft.com/client/2007"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      Width="100"
    Height="100"
    Fill="Blue" />


声明对象

在XAML中,有以下几种方式声明对象和设置它们的属性::
Object element syntax: 使用开放的和封闭的标签来声明对象,就像XML一样。你可以使用这种方法来声明根元素和设置它们的属性值。 
Attribute syntax: 使用内嵌来声明对象。你可以使用这种方法来设置一个属性的值。. 
Object element syntax

一种典型的使用Object element syntax来声明对象的方法。.首先你要创建两个XML元素标签:
 

 


... objectName 是你想要实例化的对象的名字。下面的例子使用Object element syntax声明一个Canvas。XAML




一些对象, 比如Canvas, 可以包含其他对象。.XAML

  
  




为了方便,如果一个对象里不包含其他对象,那么可以只使用一个标签来描述它XAML

  


使用Attribute syntax声明对象
见下一部分, 设置属性, 获得更多有关attribute syntax的信息。
设置属性

使用 object element syntax,你可以在声明对象的时候设置它的属性. 在XAML中,有几种方法可以设置属性: 使用 attribute syntax, 或使用  property element syntax.
通过Attribute syntax设置属性


 

 


... property 是属性名称,你会将propertyValue 的值赋到它的身上。 下面的例子展示了如何使用attribute syntax 来设置一个Rectangle的Width, Height, 和 Fill .XAML

      Width="100"Height="100"Fill="Blue" />




使用 Property Element Syntax设置属性

一些属性可以通过property element syntax来设置. 你通过创建XML elements来描述你想要的属性, 例如:
 

   

     

  
 

 


... property 是属性名称,你会将propertyValue 的值赋到它的身上. 下面的例子展示了如何使用 property element syntax 来设置一个Rectangle的Fill ,使用a SolidColorBrush.XAML

      Width="100" 
    Height="100"> 
     
       
    

  



使用 Content Element Syntax设置属性

有时候,当一个属性支持element syntax,你可以忽略属性名,直接将属性值内嵌在对象标签里。这就是content element syntax. 下面的例子展示了怎样不指定 Text 属性,设置TextBlock的 Text 属性值 。XAML
    
      Hello!
    


使用 Implicit Collection Syntax设置属性

有时候, 一个属性表现为一个集合, 你可以忽略集合名字,直接设置属性值。这就是implicit collection syntax.。下面的例子展示了对于LinearGradientBrush 如何忽略GradientStopCollection ,以及直接指定 GradientStop 对象。 GradientStopCollection 包含在第一个LinearGradientBrush中,,但在第二个里被忽略了。XAML
          Canvas.Left="0" Canvas.Top="30">
      
        
          

            
            
              
              
            

          

        

      
  
    

    

          Canvas.Left="100" Canvas.Top="30">
      
        
          

            
            
            
          

        

      
  
     


有时你甚至可以同时忽略集合元素标签和属性元素标签::XAML
          Canvas.Left="200" Canvas.Top="30">
      
        
          
          
        

      
  
     

什么时候使用Attribute或Property Element Syntax设置属性

所有属性都支持attribute 或property element syntax, 一些属性支持其他方法. 设置属性所支持的方法取决于属性值所认可的对象类型。.
如果属性值是简单类型, 比如 Double, Integer,String, 这种属性只支持 attribute syntax . 下面的例子展示了如何使用 attribute syntax 设置Rectangle的Width.Width属性支持Attribute syntax,因为他的属性值是Double类型。 XAML


是否可以使用attribute syntax取决于你使用于设置属性的对象是否支持attribute syntax.下面的例子展示了使用 attribute syntax 设置一个Rectangle的 Fill属性。在你使用SolidColorBrush去设置Fill属性的时候,它是支持attribute syntax的,因为SolidColorBrush支持attribute syntax. XAML


是否能够使用element syntax 设置属性取决于你使用的对象是否支持。如果对象支持object element syntax,属性才支持property element syntax 。下面的例子展示了使用property element syntax 设置一个Rectangle的Fill.当你使用SolidColrBrush设置Fill的时候,它是支持attribute syntax的,因为SolidColorBrush支持attribute syntax 。. XAML

  
    
  
                                   


See Also 
Silverlight Object Models

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
-2
主题
1
精华
0
金钱
19
积分
20
注册时间
2022-12-21
最后登录
2023-6-21

发表于 2024-1-24 02:21:43 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:即来则安
  • 打卡总天数:25
  • 打卡月天数:0
  • 打卡总奖励:300
  • 最近打卡:2025-03-18 12:11:46
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
344
积分
52
注册时间
2023-3-28
最后登录
2025-3-18

发表于 2025-4-1 13:50:34 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表