Xamarin.Forms 数据绑定
数据绑定将两个对象的属性链接起来,如此,对某一属性的更改将自动反映在另一个属性中。 数据绑定是模型-视图-视图模型 (MVVM) 应用程序体系结构必不可少的一部分。
数据链接问题
Xamarin.Forms 应用程序由一个或多个页面组成,每个页面通常包含多个名为“视图”的用户界面对象。 该程序的一项首要任务是确保这些视图保持同步,并跟踪它们所表示的各种值或选项。 通常,视图表示来自基础数据源的值,用户可对这些视图进行处理以更改该数据。 当视图发生更改时,基础数据必会反映该更改;同样,当基础数据发生更改时,该更改必将反映在视图中。
要成功执行此作业,程序必须知晓这些视图或基础数据的更改。 常用的解决方案是定义一个事件,在发生更改时发出信号。 随后将安装事件处理程序,就这些更改进行通知。 它通过将数据从一个对象传输到另一个对象来响应。 但是,如果存在多个视图,就必须使用多个事件处理程序并将涉及大量代码。
数据绑定解决方案
数据绑定自动执行此作业,无需使用事件处理程序。 可以通过代码或 XAML 实现数据绑定,但更常采用 XAML,这有助于缩小代码隐藏文件的大小。 通过使用声明性代码或标记替换事件处理程序中的过程代码,可简化应用程序,使其清晰明了。
数据绑定涉及两个对象,其中一个几乎总是从 View
派生的元素,并构成页面可视界面的一部分。 另一个对象则是:
- 派生自另一个
View
,且通常位于同一页面。 - 或是代码文件中的对象。
为了清楚简便起见,通常会显示两个 View
派生对象之间的数据绑定。 但是,相同的原则也可应用于 View
和其他对象之间的数据绑定。 使用模型-视图-视图模型 (MVVM) 架构生成应用程序时,具有基础数据的类通常称为 viewmodel。
以下系列文章探讨了数据绑定:
基本绑定
了解数据绑定目标和源之间的区别,并查看以代码和 XAML 创建的简单数据绑定。
绑定模式
了解绑定模式如何控制两个对象之间的数据流。
字符串格式设置
使用数据绑定格式化对象并将其显示为字符串。
绑定路径
深入了解数据绑定的 Path
属性以访问子属性和集合成员。
绑定值转换器
使用绑定值转换器来更改数据绑定中的值。
相对绑定
使用相对绑定可设置相对于绑定目标位置的绑定源。
绑定回退
通过定义绑定过程失败时要使用的回退值,使数据绑定更加可靠。
多绑定
将 Binding
对象集合附加到单个绑定目标属性。
命令界面
使用数据绑定实现 Command
属性。
编译的绑定
使用已编译的绑定来提高数据绑定性能。