2.【DevExpress MVVM】基本概念

80 阅读5分钟

目录

1. 约定和属性注解(Conventions and Attributes)

2. 连续调用的API支持(Fluent API Support)

3. 数据绑定和通知(Data Bindings and Notifications)

4. 命令(Commands)

5. 服务(Services)

6. 行为(Behaviors)

7. 层之间的通讯(Layer Communication. Messenger)

8. 视图的管理(View Management)


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框架需要知道它应该显示什么特定的视图。在本主题中,你将学习在导航发生时如何传递必需视图的多种方法。

【DevExpress MVVM】中文翻译系列.文章目录

DevExpress.WindowsForms.v20.1.chm离线英文原版文档下载