在Caliburn Micro中为每个Active View实施特定操作

时间:2011-06-28 18:57:53

标签: wpf caliburn.micro

我有一个WPF应用程序,我正在使用Caliburn.Micro MVVM框架编写。

我的ShellViewModel是指挥,因此ActiveItem我可以在ActiveItem之间切换。

我的问题是处理我的应用程序菜单。它位于ShellView.xaml标记中,我有一个“保存”菜单项。我想将此传递给ActiveItem Save()方法,并且还绑定到ActiveItem上的CanSave guard属性,并且当没有活动项或活动项时也禁用不支持保存。

我看不到处理案件的简单方法。有没有其他人尝试类似的东西,他们找到了一个很好的方法与Caliburn.Micro这样做吗?

我对如何做到这一点有其他想法,但是对于Caliburn.Micro提供的所有其他内容,我觉得我必须错过一些简单的东西。

先谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Event Aggregator发布Save事件,并让活动项IsActive处理SaveEvent。

对于防护,您可以让CanSave测试使用MEF在ShellVM和ActiveItem之间共享的值。