我必须为我的新项目学习Caliburn.Micro,并且在过去的项目中有一些早期的mvvm灯经验。问题是这两个框架之间的主要区别是什么,以及我如何开始学习Caliburn.Micro 为了减少学习曲线?
提前致谢。
答案 0 :(得分:4)
最大的区别是CM使用x自动绑定到控件的能力:通常是内置控件(不是第三方)的名称。这允许您为事件的字符串和空隙写入属性。
<Button x:Name="OpenWindow" />
然后在你的viewmodel中,该视图对应于此视图将具有public void OpenWindow(){}
的视图。还可以使用警卫控制按钮点击的执行。 CanOpenWindow
可以是bool属性或带有参数的方法,用于启用/禁用按钮,直到它满足您放入CanOpenWindow
的条件,它是ICommand下的Execute / CanExecute的抽象。
有一些重叠,比如messenger将等同于IEventAggregator,用于将事件传递到其他屏幕或整个应用程序,功能取决于您的需要。
IOC / DI在内部处理,或者您可以使用其他人的容器。内置容器是MEF和SimpleContainer,还有AutoFac,Ninject,Winsor的第三方引导程序包装器。仅举几例。
3.0目前正在开发用于跨平台开发。如果你真的想要了解更多https://github.com/Caliburn-Micro/Caliburn.Micro和http://caliburnmicro.com文档和样本,那么一旦你对幕后工作有了基本的了解,它就是一个非常简单的框架。
HTH
摩根