Caliburn.Micro(多數人叫CM)是一個開源的MVVM開發框架,主要應用范圍是WPF\Silverlight\WinPhone以Xaml為UI的開發框架.與眾多的MVVM框架相比較.個人覺得CM是我用得最習慣最快捷的一個框架.讓人的感覺到不會像微軟的prism很大很臃腫,又不像MvvmLight輕巧到只有幾個文件只能做簡單的MVVM功能.
與我一起用過CM的同事都說這個框架用起來很方便.
- 直接實例對象然后放到一個WindowsManager的類或.Conductor<IShell>.Collection.OneActive繼承類上的特定方法就可以與UI自動綁定(雖然用的是命名約束).
-
UI事件上的綁定.CM簡單的封裝了System.Windows.Interactivity.dll上的方法從而變得簡單操作.(CM的UI事件與通常綁定 System.Windows.Input.ICommand 不同是直接綁定ViewModel中的方法,也繼承System.Windows.Interactivity的多事件)
擴展屬性:
cal:Message.Attach="DeactivateItem($dataContext, 'true')"
直接綁定函數DeactivateItem,第一個參數為當前控件的DataContext對象(支持類型 DataContext對象,當前事件的EvnetArge,當前UI,當前控件,當前執行的上下文),第二為bool型()
cal:Message.Attach="[Key Enter] = [EnterPressed]"
直接綁定鍵盤的按回車鍵時觸發EnterPressed方法
cal:Message.Attach="[Event MouseDoubleClick] = [Action ShowView]; [Event Click] = [Action ShowView]"
對一個對象控件對多個事件綁定指定方法.
-
通過 x:Name 這個擴展屬性自動與 MVVM 的 ViewModel 層對應的方法或屬性自動綁定 .
還有更多功能會將來的文章中一一介紹
文章系列
-
綁定執行方法( ActionMessage)
-
ViewModel與View的綁定
-
CM的MEF
-
子控件
-
等
分析.要了解分析構架的當然要准備下了.
首先為原理.原理就不一一說明了,列出相關的關鍵字吧.(主要是這原理已經有不少人都寫過了.)
-
MVVM原理
-
正則
-
反射
-
MEF
當然CM源代碼是不可少的.網址http://caliburnmicro.codeplex.com/下的Source Code標簽下mercurial鏈接會彈出源代碼地址.代碼管理器為TortoiseHG.如果不想裝上這個代碼管理器那就直接Download壓縮包也行.

由於CM支持多個平台而我以WPF下的CM方案為分析原型(主要是這段時間在搞個WPF的平台項目)

下編文章起將與大家一起分析功能,讓我們更好的理解設計框架要考慮的問題.讓做框架設計師的人與我一起走上框架設計的.
