目录
1. 约定和属性注解(Conventions and Attributes)
2. 连续调用的API支持(Fluent API Support)
3. 数据绑定和通知(Data Bindings and Notifications)
7. 层之间的通讯(Layer Communication. Messenger)
1. 约定和属性注解(Conventions and Attributes)
MVVM框架以自己的方式处理应用程序代码并解释特定的代码片段。例如,如果一个属性的语法正确,那么它可以被认为是可绑定的。这些语法规则称为约定。约定允许你避免编写额外的代码,因为你知道框架将“理解”你期望从中得到什么,并自动生成所需的一切。本文档收集了在构建MVVM应用程序时需要注意的所有MVVM框架约定。
2. 连续调用的API支持(Fluent API Support)
本文演示了如何使用DevExpress MVVM框架提供的扩展方法来构建连续调用的API表达式。
3. 数据绑定和通知(Data Bindings and Notifications)
此文专门用于阐述数据绑定和通知,用于通知应用程序绑定对象的值正在更改中。包含以下内容:
- 基本概念——描述数据绑定的传统“WinForms方式”。
- 基础类——演示如何创建支持更改通知的可绑定属性。
- POCO属性——引入了由DevExpress MVVM框架支持的POCO(普通的旧CLR对象)类。
- POCO依赖关系——演示如何实现依赖属性,当其他相关属性被修改时,依赖属性会更新它们的值。
- Meta-POCO 绑定——解释如何将OnPropertyChanged回调声明移动到单独的元数据类中。
- 集合绑定——描述如何从所需的源填充集合。
- UI触发器——解释如何使用触发器来绑定独立的UI元素,这些元素应该按照规则更新它们的视觉状态。
- 遗留和嵌套ViewModel——演示如何使用子视图和遗留视图模型。
- 值转换器——这个部分演示了如何转换可绑定的属性值。
4. 命令(Commands)
解释如何将UI元素功能从事件处理程序移到命令的——封装特定操作的对象,在使用相关命令时执行。本文包含以下章节:
委托命令——演示如何使用简单的命令,是为同步执行的动作而设计的。
POCO命令——解释了来自POCO类的方法如何转变为可以绑定到目标UI元素并支持CanExecute行为的命令。
异步命令——演示如何为延迟或可取消的连续任务实现命令。
遗留代码的命令——这一章节展示了如何使用在自定义的非POCO类中定义的命令。
5. 服务(Services)
本文专门介绍服务——用于在MVVM应用程序中为视图提供特定的ui感知功能的接口。尽管服务是在视图中定义的,但它们的功能仍然可以从视图模型调用,甚至可能不包括关于视图的信息。本文包含两个部分:
DevExpress提供的服务——演示如何使用由DevExpress实现的服务。你可以在本文中找到DevExpress服务的列表。
自定义服务——介绍如何创建、注册和使用自己的自定义服务。
6. 行为(Behaviors)
行为用于向对象添加特定的功能,而无需从内部修改它。例如,最常见的是单击选项卡的关闭按钮或窗体显示一个确认对话框。这不是关闭按钮的主要功能,应该作为额外的东西。在MVVM应用程序中,你可以使用行为来实现这一点。
确认行为——演示如何用行为替换可取消事件(例如,FormClosing事件)。
Event-to-Command行为——解释如何将为UI元素引发的任何事件与所需的行为关联起来。
自定义行为——演示如何实现和使用定制行为。
7. 层之间的通讯(Layer Communication. Messenger)
由于有了MVVM模式基于分离的应用程序层,所以你肯定需要一种方法让分离的视图和视图模型彼此通信。此文描述了如何使用DevExpress Messenger实现这种通信。
8. 视图的管理(View Management)
完全根据MVVM概念构建的应用程序将有多个独立的视图和视图模型,有时来自不同的程序集。当您需要导航到一个单独的应用程序模块时,MVVM框架需要知道它应该显示什么特定的视图。在本主题中,你将学习在导航发生时如何传递必需视图的多种方法。