书接前文,继续来介绍一下Caliburn.Micro(CM)中的Convention。

  Caliburn.Micro这个系列也写了好几篇了,作为一个第三方的应用框架,关于细节的详尽介绍并不是第一位的,能快而准确的把握它的整体思路才是最重要的。Caliburn.Micro框架中包含了很多功能,有前面介绍过的Action,Convention,Coroutine(协同),EventAggregator(弱事件)等等。其中很多功能都是锦上添花之作,比如EventAggregator等,在Prism等框架中都有介绍,CM的核心思路是它的Action以及Convention,详细的说一下这条主线。

CM主线

  Caliburn.Micro的定位是一个轻量级的MVVM框架。作为MVVM,View和ViewModel之间用DataContext关联,View通过Binding和Command把操作传递给ViewModel并根据ViewModel中绑定属性的变化来自动刷新。用一个表格来对比一下Caliburn.Micro和通用MVVM框架的不同:

特性 普通MVVM框架 Caliburn.Micro
自动关联View和ViewModel(通过View的DataContext)。 不支持 支持,使用NameTransformer
Command 支持,推荐使用Command 不支持,使用Action作为替代方案。
Binding 支持,推荐使用Binding。 支持,可以使用Convention作为替代方案。
Validation,StringFormat,Converter,UpdateSourceTrigger 支持,使用Binding的对应机制 支持,可以使用Convention作为替代方案。

  举个简单的例子来对比:

  普通MVVM框架:

/>
/>

相关文章: