Xamarin.Forms 的 XAML

2025年3月17日 | 阅读 3 分钟

XAML 或可扩展标记语言是一种声明性语言,用于在 Xamarin.Forms 中创建用户界面。

XAML 是一种基于 XML 的简单且具有声明性的标记语言。 XAML 是区分大小写且强类型的标记语言,它将表示层与业务逻辑分开。 XAML 元素是 CLR 对象的 XML 表示形式。 XAML 用于创建、初始化和设置对象在层次结构关系中的属性。 XAML 主要用于在 WPF、Silverlight、Windows Phone 和 Xamarin Forms 中设计 UI。

XAML 工作原理

XAML 文件被转换为 BAML(二进制应用程序标记语言),该语言将作为资源嵌入到最终的 DLL/exe 中。

XAML for Xamarin.Forms

XAML 的优点

  • XAML 基于 XML 语法。
  • XAML 代码小而简单。
  • 与代码相比,XAML 代码更容易编写和理解。
  • 与代码相比,使用 XAML 设计 UI 更容易。
  • XAML 在 UI (XAML) 和 UI 逻辑 (C#) 之间提供了清晰的分隔。
  • XAML 分开了设计师和开发者的角色。

XAML 的好处

首先,使用 XAML 布局用户界面的最大好处是简单。 当使用 XAML 在页面中布局视觉树控件时,应用程序的制作速度很快,并且变得非常明显。

XAML 中的代码更具可读性。 例如:当控件绑定到视图模型中的属性时,XAML 语法比 C# 语法更简洁。

Xamarin 数据绑定

C# 数据绑定

XAML 版本变得更具可读性。

最后,Xamarin 在 Xamarin Studio 和 Visual Studio 中引入了新版本的 XAML 预览器。 此工具允许开发人员在 IDE 中查看用户界面。

XAML 页面的结构

在这里,打开的 <ContentPage> 元素,XAML 解析器知道它遇到了一个内容页面,它应该实例化。 其他 UI 控件放置在 <ContentPage.Content> 标记内,其中 XAML 解析器实例化以构建 UI。

XAML 解析器负责 XAML 文件的运行,查找需要实例化的元素,设置它们的属性,将适当的控件放置在整体布局的适当位置,执行数据绑定等等。这是一个令人印象深刻的技术。

性质

在 XAML 中,属性有两种风格。 第一个是属性属性。 这些是最容易理解且有效的属性。 属性属性在 UI 组件的标记内声明。 属性名称将始终与控件的属性名称相同,但属性的值将始终是一个字符串。

我们总是指定一个字符串,因为 XAML 接受 XML 的规则。

XAML 的第二种属性是元素属性。 当属性的值过于复杂而无法在简单的字符串中表达时,使用元素属性。

元素属性往往隐藏在显眼的地方。 创建空白的 ContentPage 时,<contentpage.content></contentpage.content> 元素是一个元素属性。 此属性用于保存页面的其余内容,这些内容过于复杂而无法用字符串表示。

XAML 和代码的区别

XAML 比代码更容易维护和修改。 XAML 易于解析,并且可以通过软件工具进行编辑,而代码则不然。 XAML 有时比等效的 C# 代码更简洁。

XAML 没有循环、没有流程控制、没有代数计算语法,也没有事件处理程序。 在这种情况下,C# 代码帮助我们定义所有这些内容。

文件结构

XAML 文件由两个文件组成。 UI 和代码隐藏。 如果我们要创建注册表单,那么我们将拥有以下内容

  • Login.Xaml - XAML UI
  • Login.Xaml.CS - UI 的代码隐藏

XAML UI 结构

XAML 视图由一个页面组成,可以使用不同的布局,并且在没有布局的情况下,可以使用多个视图来创建 UI。

XAML for Xamarin.Forms
下一篇主题Xamarin 布局