XAML初学

XAML初学整理自某下载的 PPT XAML 基础教程 1XML 与 XAML1 XML 指可扩展标记语言 EXtensible nbsp Markup nbsp Language XML 是一种标记语言 很类似 HTML 标记语言 XML 的设计宗旨是传输数据 而非显示数据 XML 标签没有被预定义 需要自行定义标签示例 GeorgeJohnRe tforgettheme

整理自某下载的PPT《XAML基础教程》

1 XML与XAML

1.XML指可扩展标记语言(EXtensible Markup Language
XML 是一种标记语言,很类似HTML标记语言
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定需要自行定义标签
示例:

 
    
    
      George 
     
    
      John 
     
    
      Reminder 
     Don't forget the meeting! 
   

2.XAML语言是ExtensibleApplication Markup Language的简称,中文称为“可扩展应用程序标记语言”
控件层次结构一目了然
UI代码与业务逻辑代码相隔离
声明式语言,更便于利用工具自动生成代码
XAML标记通常使用与XML中相同的字符实体和转义序列
主要用于SilverlightWPF,Windows PhoneWindows 8应用开发

示例:


XAML初学


2 C#与XMAL

C#与XAML呈现效果方式不同:

XAML初学



3 为什么要学习XAML

1.XAML语言应用于多个开发领域,Web应用,移动应用,桌面应用等


2.对于具有Silverlight,WPF, Windows Phone以及Windows 8开发经验的程序员,可以将开发技能再利用,加快学习速度,提高开发效率;


3.语言性能强大,学习曲线平缓, 有强大的开发工具支持,例如,使用微软Expression Studio或者VisualStudio开发工具,可快速便捷的创建XAML相关应用;


4.随着Windows8的发布, XAML是Windows 8 Style应用主要开发语言之一,从Windows 8开发路线上可以看出,XAML将与C#,VB.NE,C++配合开发Windows8 Style应用。


4 XAML的作用

1.XAML用于声明UIUI元素的一种格式
2.XAML用于声明样式和模板的格式,这些样式和模板应用于控件UI的逻辑基础
3.XAML 定义UI的可视外观,关联的代码隐藏文件定义逻辑。可以对UI设计进行调整,而不必更改代码隐藏中的逻辑。 就此作用而言,XAML简化了负责主要可视化设计的人员与负责应用程序逻辑和信息设计的人员之间的工作流。
4.XAML 可在Expression BlendVisual Studio之间互换。


5 属性设置

属性是对
XAML
元素特征进行描述的
方法
属性不允许在
XAML
中重复设置多次
允许在托管代码中改变元素的属性值


属性
设置
几种方式

使用属性语法/
使用属性
元素
语法/
使用内容
元素
语法/
使用集合
语法



5.1 属性语法

只有实例化对象才可以设置实例属性

格式
如下

  <objectNamepropertyName=“propertyValue”/>

  或者

  <objectNamepropertyName=“propertyValue”>

  
objectName>

objectName是要实例化的对象,propertyName是需要设置的属性名称,propertyValue是属性的值

每个属性对应一个属性值,属性值类型必须与属性匹配
一个标记中可以设置对象的多个属性
 
   或者 
   
   

XAML初学

5.2 属性元素语法

某些属性可以使用属性元素语法来设置,格式为:

  

    <object.property>

      
元素属性值–>

   
object.property>

 

Propertyobject元素的属性,<object.property>…
object.property>之间包含的是对象属性的值


     
  
     
     
     
     
      
       
        
       
     

XAML初学

5.3 内容元素语法

某些元素的属性支持内容元素语法,允许忽略元素的名称
实例对象会根据
XAML
元素中的第一个标记值来设置属性
对于
大量的格式化文本,使用内容元素语法更加灵活
属性标记之间可以插入大量的文本内容

  <TextBlock Width=”200″TextWrapping=”Wrap>Windows 8
TextBlock>

5.4 集合语法

元素支持一个属性元素
的集合
,才使用集合语法进行设置属性
使用托管代码的
Add
方法来增加更多的集合元素
本质是向对象的集合中添加属性项

       
  
       
       
       
       
        
         
          
           
            
            
           
          
         
       

下面代码实际省略了省略GradientStopCollection,隐式的属性设置方法


       
  
       
       
       
       
        
         
          
           
            
            
           
          
         
       

XAML初学

附加属性

附加属性作用于支持附加属性的元素
附加属性是由支持附加属性的父元素产生作用,支持附加属性的元素会继承所在的父元素的属性
附加属性的格式:
AttachedPropertyProvider.PropertyName

AttachedPropertyProvider为附加属性的提供者,PropertyName为附加属性的名称


            
   
            
            
            
            
             
              
            

Rectangle元素设置了Canvas.LeftCanvas.Top属性,使用Canvas进行布局时,包含在<Canvas>…
Canvas>之间的元素就会产生相对于Canvas对象的附加属性Canvas.LeftCanvas.Top属性

XAML初学





依赖属性



英文名称:
DependencyProperties
依赖
属性

CLR
属性类似
,提供
一个实例级私有字段的访问封装,通过
GetValue

SetValue
访问器实现属性的读写
操作
最重要一个特点是
属性值依赖于一个或者多个数据源,提供这些数据源的方式也可以
不同
由于依赖多数据源的缘故,故称之为依赖属性
1.
依赖属性最重要的一个特点是属性值依赖于一个或者多个数据源,提供这些数据源的方式也可以不同,例如,通过数据绑定提供数据源,通过动画,模板资源,样式等方式提供数据源等,在不同的方式数据源下,依赖属性可以实时对属性值进行改变。
XAML初学



                                                                                                                  

1.
定义简单用户控件样式,样式代码中定义了控件的内容文本颜色,字体尺寸
2.
Button
应用定义好的资源样式
ButtonStyle

XAML初学





           

1.
按钮控件中定义文本颜色,字体尺寸,同时也调用静态资源样式
ButtonStyle
2.
根据之前讲述的,依赖属性执行的优先级,按钮控件的本地赋值优先于控件样式
3.
因此上述代码中,忽略了
ButtonStyle
样式,应用本地依赖属性值生成不同结果

XAML初学

6 事件(Event)

Windows消息机制中重要概念之一,最常见的人机交互手段之
XAML帮助应用管理用户输入,执行不同的行
引入增强型事件处理系-Routed Event(路由事件)
Windows 8应用开发中,事件常常被用于控制更改通知操作

基础语法:<ObjectNameEventName=“EventHandle”>

XAML:

<Button Click=”Button_Click_1″/>

C#:

private void Button_Click_1(object sender,RoutedEventArgs e)

{

}

1.
事件在
Xaml
中基础语法如下: 
<
元素对象 事件名称
=”
事件处理”
/>
2.
在实际项目开发中,
VisualStudio

Xaml
语法解析器为开发人员提供了智能感知功能,通过该功能可以在
Xaml
中方便的调用指定事件,而
Visual Studio
将为对应事件自动生成事件处理函数后台代码。

















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223549.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午1:57
下一篇 2026年3月17日 下午1:57


相关推荐

  • 嵌入式软件工程师待遇怎么样

    嵌入式软件工程师待遇怎么样本来大家选择嵌入式也就是冲着嵌入式的发展前景不错而来,所以在嵌入式这块还是有很多不知道的知识,这些也都要等着老师去给你讲解了,下面先来了解下嵌入式软件工程师待遇怎么样吧。嵌入式软件工程师待遇怎么样:1、应届毕业生如果你是在一线城市的话,有人带你,你自己有比较学的好,那么你的薪资待遇就可以达到6k+,但是不同公司不同待遇,而且不同地区不同的薪资待遇,就像北上广,这些地区薪资待遇是比其他地区高出2k以上,甚至更高的。就像人家阿里,那工资肯定就比其他公司要高的多。所以得看你要去什么地方发展了,但是平均

    2025年11月20日
    5
  • python 实现协程 提高效率

    python 实现协程 提高效率

    2021年11月11日
    48
  • 什么是内存(一):存储器层次结构「建议收藏」

    什么是内存(一):存储器层次结构「建议收藏」首先给大家讲个段子:2015年开网吧,买了DDR48g内存条400多根,一根180块,今年2017年,网吧赔了20多万,昨天我把网吧电脑全卖了。内存条600一根,居然赚回了我网吧的钱,感谢三星

    2022年8月6日
    11
  • 关于python3.7安装matplotlib始终无法成功的问题

    关于python3.7安装matplotlib始终无法成功的问题相信很多新手 包括我自己 在安装完 python3 7 后需要安装 matplotlib 进行数据可视化时总是遇到安装不了的问题 以下简述自己安装时出现的问题 1 安装了 pycharm 后无法通过 setting 中直接安装 2 直接下载对应的 whl 包安装 http mirrors aliyun com pypi simple matplotlib 进入 mi

    2026年3月27日
    1
  • Quartz中时间表达式的设置—–corn表达式

    Quartz中时间表达式的设置—–corn表达式

    2021年12月9日
    126
  • “error LNK2019: 无法解析的外部符号”的几种可能原因

    “error LNK2019: 无法解析的外部符号”的几种可能原因1 前言 errorLNK2019 无法解析的外部符号这个错之前见过很多次 能知道最根本的原因在于链接过程中没有搜索到程序用到的库文件 即 lib 笔记本重装了系统 有 32Bit 升到 64Bit 运行 VTK 程序时 始终报错如下 1 nbsp nbsp 正在创建库 E Driverprogra imgport Debug imgport lib 和对象 E Driverprog

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号