【发布时间】:2015-10-26 09:25:50
【问题描述】:
我必须为我的新项目学习 Caliburn.Micro,并且在我过去的项目中对 mvvm light 有一些较早的经验。问题是这两个框架之间的主要区别是什么以及我需要如何开始学习 Caliburn.Micro 为了减少学习曲线?
提前致谢。
【问题讨论】:
标签: c# wpf mvvm caliburn.micro
我必须为我的新项目学习 Caliburn.Micro,并且在我过去的项目中对 mvvm light 有一些较早的经验。问题是这两个框架之间的主要区别是什么以及我需要如何开始学习 Caliburn.Micro 为了减少学习曲线?
提前致谢。
【问题讨论】:
标签: c# wpf mvvm caliburn.micro
最大的区别是 CM 能够通过约定自动绑定到具有 x:Names 的控件,这些控件通常是内置控件(不是第 3 方)。这允许您为事件编写字符串的属性和空值。
<Button x:Name="OpenWindow" />
然后在您的视图模型中,对应于该视图的视图将具有public void OpenWindow(){}。还可以使用警卫控制按钮点击的执行。 CanOpenWindow 可以是 bool 属性或带有参数的方法来启用/禁用按钮,直到它满足您放入 CanOpenWindow 的条件,它是 ICommand 的 Execute/CanExecute 抽象。
有一些重叠,比如 messenger 相当于 IEventAggregator 用于将事件传递到其他屏幕或整个应用程序,在功能上取决于您的需要。
IOC/DI 在内部处理,或者您可以使用其他人的容器。内置容器是 MEF 和 SimpleContainer,还有 AutoFac、Ninject、Winsor 等的 3rd 方引导程序包装器。
3.0 目前正在为跨平台开发而开发。一旦您对它在幕后的作用有了基本的了解,如果您真的想了解更多 https://github.com/Caliburn-Micro/Caliburn.Micro 和 http://caliburnmicro.com 文档和示例,它确实是一个非常简单的框架。
第
摩根
【讨论】: