DevExpress MVVM框架允许您在WinForms应用程序中使用模型-视图-视图模型设计模式。关于这个框架的文档由以下章节组成。
- 教程
跟着教程一步步的来创建一个可感知数据的“计费”示例应用程序。 - 基本概念
包含MVVM的重点、关键概念的深入信息,包括可绑定属性、命令、UI触发器和值转换器。 - 设计时支持
了解用于加速应用程序开发的DevExpress MVVM框架的设计时特性。
什么是MVVM,为什么你应该使用它?
为WPF开发而设计的Model-View-ViewModel (MVVM)是一种架构设计模式,它将应用程序分离为构成模式标题的三个层。
- 模型层——定义数据和业务逻辑。
- 视图层——指定UI,包括绑定到ViewModel中的属性和命令的所有可视化元素(按钮、标签、编辑器等)。
- 视图模型层——连接模型和视图。此层是视图的抽象,它公开用于将数据绑定到GUI元素并管理该数据的公共属性和命令。
下面的图,说明了这些层以及它们的通信方式。
这种分离给您带来了多种好处,例如:开发人员和设计人员都可以使用更独立的开发流程,更容易的代码测试或更简单的UI重新设计。请参阅这篇MSDN文章,以了解关于此模式及其优点的更多信息。
在WinForms应用程序中的MVVM:问题和选项
在WinForms平台,由于缺少第三方MVVM框架,缺少像敏捷的数据绑定或可绑定命令等基本组件,为了遵循MVVM的设计原则,您将不得不手动实现这些特性,从而创建一个额外的层—控制器。通常,这一层包括用户控件及其背后的代码、自定义视图元素的方法、事件处理程序和绑定。
DevExpress MVVM框架为所有这些特性提供了内置的支持,从而支持使用WinForms进行纯MVVM开发,而不需要额外的工作负担。另外一个好处是,它可以很好地集成你已经在应用程序中使用的DevExpress WinForms UI控件。
下面是一些支持的特性和优点:
- 灵活的数据绑定
- 命令和命令绑定
- 行为和服务
- 一种实现通知和命令的高级方法
- 管理从创建视图模型到注册DevExpress服务的一切的MVVM上下文组件
- 简单(POCO)类的支持
- 与其他DevExpress WinForms控件的丰富互操作性
- 专门为创建MVVM应用程序的模板库(Template Gallery)模板
- fluent API和数据注解属性(Data Anotation Attributes)支持
- 还有各种各样的设计时功能