【发布时间】:2013-08-08 18:21:06
【问题描述】:
在我第一个尝试 Caliburn.Micro 的项目中,我喜欢很多东西 :-)
我想念(或尚未发现)的一件事是如何分离视图模型和命令。 CM 不支持 ICommand,因为它的做事方式是superior。我确信这是真的,所以我希望朝着正确的方向小幅推动以实现这一目标,或者可能发现更好的方法。
据我了解,您必须将“Execute”方法和“CanExecute”属性直接放在视图模型中,命名为与视图中的控件匹配,才能让魔法发挥作用。
我想将“Execute”和“CanExecute”放在作为视图模型属性的不同对象中,然后 CM 会像往常一样使用控件名称和属性名称自动绑定到该对象。
Repost 来自 Caliburn Micro 论坛,我没有得到任何答案,所以我在这里碰碰运气。
【问题讨论】:
-
您能否更清楚地问清楚,您对什么感到困惑或需要更多信息?我不完全理解你的问题,尤其是最后一部分将“Execute”和“CanExecute”放在不同的对象中?
-
听起来您想创建一个命令处理程序类型的对象,该对象将用作您的命令的绑定源。您是否有任何理由要直接在 VM 上使用 CM 约定和方法/道具来执行此操作?你能给出这方面的一些好处吗?
-
我想要这样做的原因是为了避免胖 ViewModel。
标签: mvvm caliburn.micro