- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本主题定义用于描述 XAML 语法中各个元素的术语。 本文档的其余部分将经常用到这些术语,既特定适用于 WPF 文档,也适用于其他框架,这些框架使用由 System.Xaml 级别的 XAML 语言支持实现的 XAML 或基本 XAML 概念。 本主题进一步阐述主题 XAML 概述 (WPF)中曾介绍过的基本术语。
本主题包括下列各节。
XAML 语言规范
XAML 和 CLR
对象元素语法
对象元素的属性
特性语法(属性)
属性元素语法
集合语法
XAML 内容属性
内容属性和集合语法组合
XAML 命名空间
标记扩展
附加属性
附加事件
XAML 根元素剖析
可选的和不建议的 XAML 用法
相关主题
XAML 语言规范
XAML 语言规范中也定义或引用了此处定义的 XAML 语法术语。 XAML 是一种基于 XML 并遵循或扩展 XML 结构规则的语言。 其中某些术语共享自或基于描述 XML 语言或 XML 文档对象模型时常用的术语。
有关 XAML 语言规范的更多信息,请从 Microsoft 下载中心下载 [MS-XAML]。
XAML 和 CLR
XAML 是一种标记语言。 顾名思义,公共语言运行时 (CLR) 实现了运行时执行。 XAML 本身并非 CLR 运行时直接使用的一种公共语言。 而是可以将 XAML 视为支持其自身的类型系统。 WPF 所使用的特定 XAML 分析系统是根据 CLR 和 CLR 类型系统构建的。 在分析 WPF 的 XAML 时,XAML 类型将映射到 CLR 类型,以便将运行时表示形式实例化。 出于此原因,本文档中语法讨论的其余部分将包括对 CLR 类型系统的引用,而 XAML 语言规范中并未就这部分语法展开讨论。 (在 XAML 语言规范的每个级别,XAML 类型都可以映射到任何其他类型系统,而不一定要映射到 CLR,但这需要创建和使用一种不同的 XAML 分析器。)
类型成员和类继承
属性和事件在作为 WPF 类型的 XAML 成员时,通常从基类型继承而来。 请考虑此代码示例:Button Background=Blue .../。 如果要查看类定义、反射结果或文档,则 Background 属性并不是 Button 类上立即声明的属性。 相反,Background 是从基 Control 类继承而来。
WPF XAML 元素的类继承行为与架构对 XML 标记的强制解释大相径庭。 类继承可能会变得很复杂,特别是在中间基类为抽象类或涉及到接口的情况下尤为如此。 由于这样一个原因,因此很难通过 XML 编程常用的架构类型(例如 DTD 或 XSD 格式)准确并完整地表示 XAML 元素及其所允许特性的集合。 另一个原因是,XAML 语言本身的扩展性和类型映射功能会对所允许类型和成员的任何固定表示形式的完整性造成妨碍。
对象元素语法
对象元素语法是一种 XAML 标记语法,它通过声明 XML 元素将 CLR 类或结构实例化。 这种语法类似于如 HTML 等其他标记语言的元素语法。 对象元素语法以左尖括号 () 开始,后面紧跟要实例化的类或结构的类型名称。 类型名称后面可以有零个或多个空格,对于对象元素还可以声明零个或多个特性,并用一个或多个空格来分隔每个“特性名=值”对。 最后,必须存在下列一种情况:
元素和标记必须用正斜杠 (/) 和紧跟的右尖括号 () 结尾。
开始标记必须以右尖括号 () 结尾。 其他对象元素、属性元素或内部文本可以跟在开始标记后面。 此处可以包含的确切内容通常会受到元素对象模型的约束。 对象元素还必须存在等效的结束标记,并与其他开始标记/结束标记对形成正确的嵌套和平衡。
由 .NET 实现的 XAML 具有一组规则,可将对象元素映射为类型、将特性映射为属性或事件,以及将 XAML 命名空间映射到 CLR 命名空间和程序集。 对于 WPF 和 .NET Framework,XAML 对象元素映射到 Microsoft .NET 类型(如引用的程序集中所定义),而特性映射到这些类型的成员。 在 XAML 中引用 CLR 类型时,还可以访问该类型的继承成员。
例如,下面的示例是一个对象元素语法,该语法实例化 Button 类的一个新实例,而且还指定了一个 Name 特性及其值:
XAML
复制
Button Name=CheckoutButton/
下例是其中也包括 XAML 内容属性语法的对象元素语法。 其中包含的内部文本将用于设置 TextBox 的 XAML 内容属性 Text。
XAML
复制
TextBoxThis is a Text Box/Text
文档评论(0)