XAML

XAML(Extensible Application Markup Language的简写,发音为“zammel")是用于实例化.NET对象的标记语言。尽管XAML是一种可应用于诸多不同问题领域的技术,但其主要作用是构造WPF用户界面。换言之,XAML文档定义了在WPF应用程序中组成窗口的面板、按钮以及各种控件的布局。

一、理解XAML

1.1.WPF之前的图形用户界面
使用传统的显示技术,从代码中分离出图形内容并不容易。对于windows窗体应用程序而言,关键问题是创建的每个窗体完全都是由C#代码定义的。在将控件拖动到设计视图并配置控件时,visual studio 将在相应的窗体类中自动调整代码。但图形设计人员没有任何可以使用C#代码的工具。

1.2.XAML变体
使用XAML表示整个XAML语言,它是一个基于通用XAML语法、专门用于表示一棵.NET对象树的语言(这些语言可以是窗口中的按钮、文本框,或是您已经定义好的自定义类。实际上,XAML甚至可用于其他平台来表示非.NET对象)。

XAML还包含如下几个子集:
1.WPF XAML包含描述WPF内容的元素,如矢量图形、控件以及文档。目前,它是最重要的XAML应用;
2.XPS XAML是WPF XAML的一部分,它为格式化的电子文档定义了一种XML表示方式;
3.Sliverlight XAML是一个用于Microsoft Silverlight应用程序的WPF XAML子集;
4.WPF XAML包括描述WF(Work Flow,工作流)内容的元素。

1.3.XAML编译

WPF使用BAML(Binary Application Markup Language,二进制应用程序标记语言)来克服这个缺点。BAML并非新事物,它实际上就是XAML的二进制表示。当在Visual Studio中编译WPF应用程序时,所有XAML文件都被转换成BAML,这些BAML然后作为资源嵌入到最终的DLL或EXE程序集中。BAML是标记化的,这意味着较长的XAML被较短的标记替代。BAML不仅明显小一些,还对其进行了优化,从而使它在运行时能够更快的解析。

关于WPF(二)XAML相关推荐

  1. wpf中xaml的类型转换器与标记扩展

    wpf中xaml的类型转换器与标记扩展 原文:wpf中xaml的类型转换器与标记扩展 这篇来讲wpf控件属性的类型转换器 类型转换器 类型转换器在asp.net控件中已经有使用过了,由于wpf的界面是 ...

  2. 第一章:初识WPF,XAML,WPF控件

    前言 总目录 本章主要介绍WPF与XAML,以及WPF的控件的基本使用,让大家先初步认识WPF. 关于WPF的官方资料:官方WPF文档1 .官方WPF文档2.官方WPF文档3.官方WPF文档4 一.W ...

  3. WPF学习日记(二)——XAML语法

    XAML语法 1.XAML文档的树形结构   XAML使用标签来定义UI元素,每个标签对应.NET Framework类库中的一个控件类.通过设置标签的Attribute,不但可以对标签所对应控件对象 ...

  4. WPF开发XAML格式化神器

    一.概要 不知道大家在开发WPF中有没有遇到过这种情况,在编写XAML的时候会发现多人编辑或自己修修改改会导致XAML文件的内容异常的乱比如这样. 我们需要手动的去缩进空格或者换行,会导致这种比较蠢的 ...

  5. WPF 二维码生成器

    因为使用到ZXing.Net库,所以需要下载添加引用到项目去. ZXing是一个开源Java类库用于解析多种格式的1D.2D条形码,能够对QR编码.Data Matrix.UPC的1D条形码进行解码它 ...

  6. win8/Metro开发系列二 Xaml数据绑定

    首先还是那句话,我不是大牛,这些只是简单的记录一下学习的过程,没有太多面向对象和设计模式的思维,只偏基础,不喜莫笑:个人观点如果有不足之处,还望多多指教!由于学的不是太深入这里大多数是面向控件和开发介 ...

  7. WPF之XAML语法

    目录 树形结构 对象属性赋值语法 使用标签的Attribute 使用属性元素 扩展:标记扩展(Markup Extensions) 扩展:使用TypeConverter 类映射Atribute与Pro ...

  8. 《深入浅出WPF》——XAML语法及基础知识

    文章目录 一. 剖析一段简单的XAML代码 二. XAML中为对象属性赋值的语法 2.1. 使用标签的Attribute为对象进行赋值

  9. dotnet 使用 ShowMeTheXAML 显示 WPF 的 XAML 控件内容

    本文来告诉大家一个好用的控件库,这个控件库可以方便用在自己编写示例项目中使用.使用 ShowMeTheXAML 控件库可以将某段 XAML 内容作为字符串文本内容显示出来,方便让其他开发者看到界面以及 ...

  10. WPF基础-XAML

    XAML语言说明 xaml是微软在xml语言基础上开发出来,用于设计WPF程序UI的语言 XAML语言的初衷是为了让设计师和程序员能够干各自专业的事,即UI设计与代码逻辑分离.(逻辑有点像点后端分离, ...

最新文章

  1. 设计模式-简单工厂模式
  2. 疫情加速人脸识别落地:多地试点AI门禁,居民刷脸核验健康码
  3. ORA-28000: the account is locked-的解决办法
  4. ConditionObject源码
  5. 安装SQL Server 2005时,出现“SQL Server 服务无法启动。……”提示的解决方法
  6. CCNA-第一篇-基础入门概念
  7. cstring判断包含字符串_作为java程序员要知道的大厂常见的算法面试题:字符串的包含...
  8. python123数值运算_python123中 Hello World的条件输出 和数值运算
  9. NHibernate之映射文件配置说明
  10. Linux下WebLogic 12c启动、部署命令行
  11. 路由器连接久点就慢下来了,怎么回事?
  12. 敏捷开发免费管理工具——火星人预览之二:编辑故事,产品管理,组织结构...
  13. Matlab并行编程cellfun arrayfun
  14. js产生两个数字之间的随机数
  15. 如何写出高质量的代码 -- 给所有编程学习者的一个建议
  16. 三十正青春!苏宁818要用“好服务”抢占年轻用户心智
  17. 必备24个宝藏工具,赶紧收藏,在家做自媒体8天收益4100
  18. 大使馆大师傅活动分工和非都市规划
  19. java 主板序列号_Java获得硬盘和主板的序列号
  20. 认识UDS诊断29认证服务-Authentication Service

热门文章

  1. 路由器DNS代理的工作原理介绍
  2. HMC 命令行 查看小型机信息命令大全
  3. 201671010434王雯涵--实验二 软件工程个人项目
  4. 一个算命顶级高手异常精彩的论述_huadingjin_新浪博客
  5. 订单部分商品退款模型思考
  6. spring整合hibernate步骤及配置文件
  7. 学习C语言常用的几个网站
  8. python使用教程-马哥教育官网-专业Linux培训班,Python培训机构
  9. Retrofit使用教程(一)
  10. 关于微信小程序正式上线的那些事儿