
- MVVM 教程
- MVVM - 首頁
- MVVM – 簡介
- MVVM - 優勢
- MVVM - 職責
- MVVM - 第一個應用程式
- MVVM - 連線檢視
- MVVM - 連線ViewModel
- MVVM - WPF 資料繫結
- MVVM - WPF 資料模板
- MVVM - ViewModel 通訊
- MVVM - 層次結構與導航
- MVVM - 驗證
- MVVM - 依賴注入
- MVVM - 事件
- MVVM - 單元測試
- MVVM – 框架
- MVVM - 面試題
- MVVM 有用資源
- MVVM - 快速指南
- MVVM - 有用資源
- MVVM - 討論
MVVM – 框架
本章將討論可用的MVVM工具包或框架。您也可以使用這些框架,這樣您就不必編寫大量重複程式碼來自己實現MVVM模式了。以下是一些最流行的框架:
- Prism
- MVVM Light
- Caliburn Micro

Prism
Prism透過示例和文件的形式提供指導,幫助您輕鬆設計和構建豐富、靈活且易於維護的Windows Presentation Foundation (WPF)桌面應用程式。使用Microsoft Silverlight瀏覽器外掛和Windows應用程式構建的富網際網路應用程式(RIA)。
Prism使用體現重要架構設計原則(如關注點分離和鬆散耦合)的設計模式。
Prism幫助您使用鬆散耦合的元件設計和構建應用程式,這些元件可以獨立演變,但可以輕鬆無縫地整合到整個應用程式中。
這些型別的應用程式稱為複合應用程式。
Prism有很多開箱即用的功能。以下是Prism的一些重要功能。
MVVM模式
Prism支援MVVM模式。它有一個Bindablebase類,類似於前面章節中實現的類。
它有一個靈活的ViewModelLocator,它有一些約定,但允許您覆蓋這些約定,並以鬆散耦合的方式宣告性地連線您的檢視和ViewModel。
模組化
它能夠將您的程式碼分解成完全鬆散耦合的類庫部件,並在執行時將它們組合成一個對終端使用者而言具有凝聚力的整體,而程式碼仍然完全解耦。
UI組合/區域
它能夠將檢視插入容器,而無需進行插入操作的檢視需要對UI容器本身進行顯式引用。
導航
Prism具有構建在區域之上的導航功能,例如向前和向後導航以及允許您的檢視模型直接參與導航過程的導航堆疊。
命令
Prism有命令,它們有一個委託命令,這與我們在前面章節中使用的MyICommand非常相似,只是它有一些額外的魯棒性來保護您免受記憶體洩漏。
釋出/訂閱事件
Prism還支援釋出/訂閱事件。這些是鬆散耦合的事件,其中釋出者和訂閱者可以具有不同的生命週期,並且不必具有彼此的顯式引用即可透過事件進行通訊。
MVVM Light
MVVM Light由Laurent Bugnion開發,幫助您將檢視與模型分離,從而建立更清晰、更易於維護和擴充套件的應用程式。
它還建立可測試的應用程式,並允許您擁有更薄的使用者介面層(這更難以自動測試)。
此工具包特別強調開啟和編輯使用者介面到Blend中,包括建立設計時資料,以使Blend使用者在使用資料控制元件時能夠“看到某些內容”。
Caliburn Micro
這是另一個小型開源框架,可幫助您實現MVVM模式,並開箱即用地支援許多功能。
Caliburn Micro是一個小型但功能強大的框架,旨在為所有XAML平臺構建應用程式。
憑藉對MVVM和其他成熟UI模式的強大支援,Caliburn Micro將使您能夠快速構建解決方案,而無需犧牲程式碼質量或可測試性。