XAML语言-总体介绍
本主题介绍可扩展应用程序标记语言 (XAML) 语言的功能,并演示如何使用 XAML 编写 Windows Presentation Foundation (WPF) 应用程序。本主题专门介绍了 Windows Presentation Foundation (WPF) 实现的 XAML。XAML 本身是比 Windows Presentation Foundation (WPF) 更广泛的一个语言概念。
XAML 语法术语
本主题定义用来描述可扩展应用程序标记语言 (XAML) 语法的各个元素的术语。这些术语将在本软件开发工具包 (SDK) 的其余部分中经常用到。本主题扩展了 XAML 概述中所介绍的基本术语。
代码隐藏和 XAML
代码隐藏是一个术语,用于描述与将 XAML 页编译为应用程序时由 XAML 处理器创建的代码联接的代码。本主题描述代码隐藏的要求以及在 XAML 中的代码的可选内联代码机制。
XAML 和自定义类
可扩展应用程序标记语言 (XAML) 支持使用任何公共语言运行时 (CLR) 语言定义自定义类或结构,然后使用 XAML 标记(包括在同一标记文件中混合使用 Windows Presentation Foundation (WPF) 定义的 XAML 和自定义类的 XAML 标记)访问该类的功能。本主题讨论自定义类要用作 XAML 元素时所必须满足的要求。
标记扩展和 XAML
本主题介绍可扩展应用程序标记语言 (XAML) 的标记扩展概念,包括其语法规则、用途以及底层的类对象模型。
XAML 命名空间和命名空间映射
本主题进一步解释每个可扩展应用程序标记语言 (XAML) 文件的根标记中存在的两个 XML 命名空间映射及其用途。同时还介绍如何生成类似的映射,以便使用在您自己的代码中和/或单独的程序集中定义的元素。
WPF 名称范围
名称范围既是一种概念,也是用于存储对象的 XAML 定义名称及其实例等效项之间的关系的编程对象。加载 WPF 应用程序的页面时,即在 XAML 托管代码中创建了名称范围。作为编程对象的名称范围由 INameScope 接口定义,并且还由实际类 NameScope 实现。
内联样式和模板
Windows Presentation Foundation (WPF) 提供的 Style 对象和模板对象(FrameworkTemplate 子类)可用来定义资源中元素的可视外观,因此可以多次使用。所以,XAML 中采用 Style 和 FrameworkTemplate 类型的属性总是可以对现有的样式和模板进行资源引用,而不是定义新的内联样式和模板。
XAML 中的空白处理
可扩展应用程序标记语言 (XAML) 包含一些语言规则,说明了必须通过 XAML 处理器实现来处理空白的重要性。本主题介绍这些语言规则,并介绍 Windows Presentation Foundation (WPF) 处理器的 XAML 实现所定义的其他空白处理,以及 XAML 序列化编写器。
TypeConverters 和 XAML
TypeConverter 类作为托管自定义实现的一部分具有特定的用途,该托管自定义实现在可扩展应用程序标记语言 (XAML) 属性用法中可用作属性值。如果编写一个自定义类,并需要将类的实例用作可扩展应用程序标记语言 (XAML) 可设置的属性值,则可能需要对类应用 TypeConverterAttribute,或者编写一个自定义 TypeConverter 类,或者二者都需要。
XML 字符实体和 XAML
可扩展应用程序标记语言 (XAML) 将 XML 中所定义的字符实体用于特殊字符。
XAML 命名空间 (x:) 语言功能
x:Array 标记扩展、x:Class 属性、x:ClassModifier 属性、x:Code XAML 指令元素、x:FieldModifier 属性、x:Key 属性、x:Name 属性、x:Null 标记扩展、x:Shared 属性、x:Static 标记扩展……
WPF 命名空间 XAML 扩展
绑定标记扩展、ColorConvertedBitmap 标记扩展、ComponentResourceKey 标记扩展、DynamicResource 标记扩展、RelativeSource MarkupExtension、StaticResource 标记扩展……
标记兼容性 (mc:) 语言功能
本主题介绍可扩展应用程序标记语言 (XAML) 语言的功能,并演示如何使用 XAML 编写 Windows Presentation Foundation (WPF) 应用程序。本主题专门介绍了 Windows Presentation Foundation (WPF) 实现的 XAML。XAML 本身是比 Windows Presentation Foundation (WPF) 更广泛的一个语言概念。
XAML 语法术语
本主题定义用来描述可扩展应用程序标记语言 (XAML) 语法的各个元素的术语。这些术语将在本软件开发工具包 (SDK) 的其余部分中经常用到。本主题扩展了 XAML 概述中所介绍的基本术语。
代码隐藏和 XAML
代码隐藏是一个术语,用于描述与将 XAML 页编译为应用程序时由 XAML 处理器创建的代码联接的代码。本主题描述代码隐藏的要求以及在 XAML 中的代码的可选内联代码机制。
XAML 和自定义类
可扩展应用程序标记语言 (XAML) 支持使用任何公共语言运行时 (CLR) 语言定义自定义类或结构,然后使用 XAML 标记(包括在同一标记文件中混合使用 Windows Presentation Foundation (WPF) 定义的 XAML 和自定义类的 XAML 标记)访问该类的功能。本主题讨论自定义类要用作 XAML 元素时所必须满足的要求。
标记扩展和 XAML
本主题介绍可扩展应用程序标记语言 (XAML) 的标记扩展概念,包括其语法规则、用途以及底层的类对象模型。
XAML 命名空间和命名空间映射
本主题进一步解释每个可扩展应用程序标记语言 (XAML) 文件的根标记中存在的两个 XML 命名空间映射及其用途。同时还介绍如何生成类似的映射,以便使用在您自己的代码中和/或单独的程序集中定义的元素。
WPF 名称范围
名称范围既是一种概念,也是用于存储对象的 XAML 定义名称及其实例等效项之间的关系的编程对象。加载 WPF 应用程序的页面时,即在 XAML 托管代码中创建了名称范围。作为编程对象的名称范围由 INameScope 接口定义,并且还由实际类 NameScope 实现。
内联样式和模板
Windows Presentation Foundation (WPF) 提供的 Style 对象和模板对象(FrameworkTemplate 子类)可用来定义资源中元素的可视外观,因此可以多次使用。所以,XAML 中采用 Style 和 FrameworkTemplate 类型的属性总是可以对现有的样式和模板进行资源引用,而不是定义新的内联样式和模板。
XAML 中的空白处理
可扩展应用程序标记语言 (XAML) 包含一些语言规则,说明了必须通过 XAML 处理器实现来处理空白的重要性。本主题介绍这些语言规则,并介绍 Windows Presentation Foundation (WPF) 处理器的 XAML 实现所定义的其他空白处理,以及 XAML 序列化编写器。
TypeConverters 和 XAML
TypeConverter 类作为托管自定义实现的一部分具有特定的用途,该托管自定义实现在可扩展应用程序标记语言 (XAML) 属性用法中可用作属性值。如果编写一个自定义类,并需要将类的实例用作可扩展应用程序标记语言 (XAML) 可设置的属性值,则可能需要对类应用 TypeConverterAttribute,或者编写一个自定义 TypeConverter 类,或者二者都需要。
XML 字符实体和 XAML
可扩展应用程序标记语言 (XAML) 将 XML 中所定义的字符实体用于特殊字符。
XAML 命名空间 (x:) 语言功能
x:Array 标记扩展、x:Class 属性、x:ClassModifier 属性、x:Code XAML 指令元素、x:FieldModifier 属性、x:Key 属性、x:Name 属性、x:Null 标记扩展、x:Shared 属性、x:Static 标记扩展……
WPF 命名空间 XAML 扩展
绑定标记扩展、ColorConvertedBitmap 标记扩展、ComponentResourceKey 标记扩展、DynamicResource 标记扩展、RelativeSource MarkupExtension、StaticResource 标记扩展……
标记兼容性 (mc:) 语言功能
mc:Ignorable 属性、mc:ProcessContent 属性……