WinForms MVVM
DevExpress MVVM框架允許您在WinForms應(yīng)用程序中使用 Model-View-ViewModel設(shè)計(jì)模式。
分步教程
通過(guò)實(shí)時(shí)代碼部分探索100多個(gè)示例,這些交互式演示是實(shí)時(shí)編譯的,它們說(shuō)明了如何在現(xiàn)實(shí)世界的應(yīng)用程序中實(shí)現(xiàn)MVVM概念。
什么是MVVM,為什么要使用它?
Model-View-ViewModel(MVVM)是一種為WPF開(kāi)發(fā)而設(shè)計(jì)的架構(gòu)設(shè)計(jì)模式,它將應(yīng)用程序分成三層。
- Model ——定義數(shù)據(jù)和業(yè)務(wù)邏輯。
- View——指定UI,包括綁定到ViewModel中的屬性和命令的所有可視元素(按鈕、標(biāo)簽、編輯器等)。
- ViewModel——連接模型和視圖,這一層是視圖的抽象,它公開(kāi)了用于將數(shù)據(jù)綁定到GUI元素并管理該數(shù)據(jù)的公共屬性和命令。
下圖說(shuō)明了這些層及其通信方式。
這種分離為您提供了多種好處,例如開(kāi)發(fā)人員和設(shè)計(jì)人員的開(kāi)發(fā)過(guò)程更加獨(dú)立,代碼測(cè)試更加容易,UI重新設(shè)計(jì)更加簡(jiǎn)單。
WinForms應(yīng)用程序中的MVVM:?jiǎn)栴}和選項(xiàng)
沒(méi)有第三方MVVM框架的WinForms平臺(tái)缺乏敏捷數(shù)據(jù)綁定或可綁定命令等基本特性。為了遵循MVVM原則,您必須在一個(gè)額外的層中手動(dòng)實(shí)現(xiàn)這些功能——Presenter,通常這一層包括UserControls及其背后的代碼、自定義View元素的方法、事件處理程序和綁定。
DevExpress MVVM框架包括對(duì)所有必需功能的內(nèi)置支持,并且可以使用WinForms進(jìn)行純MVVM開(kāi)發(fā),而不需要額外的工作負(fù)載。作為一個(gè)額外的好處,它很好地集成了DevExpress WinForms UI控件,也已經(jīng)在應(yīng)用程序中使用。
支持的功能和優(yōu)點(diǎn)包括:
- 靈活的數(shù)據(jù)綁定
- 命令和命令綁定
- 行為和服務(wù)
- 實(shí)現(xiàn)通知和命令的高級(jí)方法
- MVVM上下文組件,它管理從創(chuàng)建ViewModels到注冊(cè)DevExpress服務(wù)的所有事情
- 簡(jiǎn)單(POCO)類支持
- 與其他DevExpress WinForms控件的豐富互操作性
- 模板庫(kù)模板,專門(mén)為MVVM應(yīng)用程序創(chuàng)建
- 支持Fluent API和數(shù)據(jù)注釋屬性
- 各種設(shè)計(jì)時(shí)功能