总结和知识检查
本模块介绍了通用 Windows 平台 (UWP) 和 Windows Presentation Foundation (WPF) 是如何支持数据绑定的。 你现在已详细了解以自动、可靠和高性能方式连接应用 UI 和业务逻辑的过程。
此外,你还学习了如何在代码中的对象属性更改时更新 UI,以及如何在 UI 更改时更新属性。 你已在 ListBox
或 ComboBox
中显示了元素(如颜色)列表:多个可用于在屏幕上显示项集合的控件中的两个。 如果已按照各个教程操作,现在你还会具备控制这些控件中各项显示的实践经验。 此外,你还体验了如何通知业务逻辑用户已选择某个项。 最后一点是,你现在已了解如何自动在 UI 上反映集合更改(如添加项或删除项)。
在开发中等复杂程度的应用时,这种 UI 和逻辑的分离至关重要。 这样一来,业务逻辑(代码)可以从业务对象角度考虑。 例如,在请求获取用户名时,无需考虑在逻辑中使用 TextBox
控件。 只需处理用户输入的文本的 String
对象。 “最喜欢颜色”列表存储的是实际 ColorDescriptor
对象,而不是与 UI 相关的对象(如 ListItem
)。 不过,由于数据绑定,UI 仍能以设计人员选择的任何方式显示这些项:在 ListBox
中、在 ComboBox
中、使用含卡的网格状布局,或甚至是在传送视图中。 无需为了任何这些选择而改变业务逻辑。
此外,如果逻辑和 UI 良好分离,你还可以为业务逻辑单独编写自动单元测试。 无需启动应用即可运行这些测试(例如,使用 Visual Studio 单元测试)。 这些测试依赖经过反复考验的数据绑定机制,在 UI 和业务逻辑代码之间传输数据。
简化类编码
最后,本模块介绍了如何利用基类来简化数据绑定易用类的编码。 这是遵循行业最佳做法(模型-视图-视图模型 (MVVM) 体系结构)的第一步。
在我们的小型示例中,ColorDescriptor
类是“模型”的典型例证。 在此示例中,关于实际对象或概念,存储的数据为颜色。
“视图”是 XAML 代码:MainPage.xaml (UWP)/MainWindow.xaml (WPF) 和 ColorList.xaml,以及它们的代码隐藏文件 MainPage.xaml.cs (UWP)/MainWindow.xaml.cs (WPF) 和 ColorList.xaml.cs。
用于驱动 UI、做出决策(是否应启用按钮等)的实际业务逻辑是“视图模型”。 在 UWP 示例中,MainPageLogic
和 ColorListLogic
类本质上就是视图模型类。 在 WPF 示例中,MainWindowDataContext
、Clock
和 ColorListDataContext
类是视图模型。
MVVM 是支持数据绑定的 UI 框架的最广泛使用体系结构模式。 许多 MVVM 工具包和框架都可用于快速开始在 UWP 和 WPF 或甚至 Windows 应用 SDK 和 .NET MAUI 中开发。 下面是一些最常用的工具包和框架:
结束语
至此,已做好 Windows 开发准备,强烈建议你继续学习。 请学习下一模块,详细了解如何将应用连接到云。 但请先完成以下知识检查测验。