1. XAML 基础概念
- 全称与定义:XAML 是 Extensible Application Markup Language 的缩写,是一种用于实例化 .NET 对象的声明性标记语言。
- 核心用途:作为微软技术体系中的 UI 编程语言,广泛用于 Windows 10、Windows 8、Windows Phone、Silverlight 和 WPF 等平台的程序界面编写。
- 语法特点:语法类似 XML 和 HTML 的结合体。对应的
XXX.xaml.cs文件采用微软典型的 Code-Behind(后置代码) 编程模式,实现界面与逻辑的分离。
2. XAML 与 .NET 类的映射关系
- 声明性规则:XAML 遵循 XML 语法规则,每个 XAML 包含名称及属性。
- 元素与类:XAML 文件中的每个元素代表 .NET 中的一个类;每个属性代表 .NET 类中的属性、方法或事件。
- 代码示例(添加一个按钮):
<Button x:Name="buttonBack" Content="返回" HorizontalAlignment="Stretch" Click="buttonBack_Click" /> - 映射解析:
- 上述
<Button>元素对应Windows.UI.Xaml.Controls.Button类。 - 属性(如
Name、BorderThickness等)对应Button类中的相关属性。 - 事件处理程序
Click="buttonBack_Click"对应后置.xaml.cs代码中的buttonBack_Click方法。
- 上述
3. XAML 编程的 4 大原则
- 严格区分大小写:元素和属性名称必须严格区分。例如按钮必须是
<Button>,不能是<button>。 - 属性值加双引号:所有属性值(无论声明何种类型数据)都必须包含在双引号
""中。 - 元素必须封闭:支持自闭合(如
<Button ... />)或成对标签(如<Button>...</Button>)。 - 合法 XML 文档:最终的 XAML 文件必须是格式良好、结构合法的 XML 文档。
4. 命名空间与解析规则
- URI 本质:XML 命名空间通常使用 URI 格式,但它并非指向 Web 实际位置,而是作为唯一标识符,用于区分不同环境下的 XML 文档。
- 默认空间解析:无前缀的元素(如
<Grid>)会由解析器自动到 Windows 10 的Windows.UI.Xaml开头的默认命名空间去查找对应的类。 - 专属空间解析:带前缀的属性(如
x:Name中的x)则指向专属命名空间,用于特定功能(如定义对象名、类关联等)。