一步一步分析Caliburn.Micro框架(序)


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 層對應的方法或屬性自動綁定 .

    還有更多功能會將來的文章中一一介紹

    文章系列

    分析.要了解分析構架的當然要准備下了.

    首先為原理.原理就不一一說明了,列出相關的關鍵字吧.(主要是這原理已經有不少人都寫過了.)

    • MVVM原理
    • 正則
    • 反射
    • MEF

    當然CM源代碼是不可少的.網址http://caliburnmicro.codeplex.com/下的Source Code標簽下mercurial鏈接會彈出源代碼地址.代碼管理器為TortoiseHG.如果不想裝上這個代碼管理器那就直接Download壓縮包也行.

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM