单个命令可在不同的视图模型中调用不同的命令

时间:2013-04-26 22:00:04

标签: wpf mvvm .net-3.5 command

将我的要求放在非常简单的步骤中。在网上搜索了很多但很困惑。

我有一个主窗口(.xaml) 我有一个Menu控件,带有Save选项(用户控件) 我在Tab控件中的同一个窗口中有3个用户控件(.xaml)(带有3个选项卡)。

每个用户控件都有数据条目,并有自己的View Model类和Save()方法来保存数据(在视图模型中实现了ICommand和INotifiyPropertyChanged)。

现在,如果我在单个usercontrol中保存按钮(在选项卡内),它可以正常工作(我使用命令来实现这一点)。但是,我需要,保存工作,只需单击菜单上的“保存”,这也是一个用户控件,位于主窗口内。菜单保存应该像所有3个用户控件的常用保存一样。

因此,现在菜单应该是智能的,以确定哪个是活动用户控件(可能基于选项卡已更改事件或其他内容),并相应地在ViewModel中为该用户控件触发Save()方法。

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用Event Aggregator来完成应用程序各部分之间的通信而不将它们紧密耦合。