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的平台项目)
下编文章起将与大家一起分析功能,让我们更好的理解设计框架要考虑的问题.让做框架设计师的人与我一起走上框架设计的.