【问题标题】:Single Command to call different commands in different View Models单个命令在不同的视图模型中调用不同的命令
【发布时间】:2023-03-24 17:49:01
【问题描述】:

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

我有一个主窗口 (.xaml) 我有一个菜单控件,带有保存选项(用户控件) 我在选项卡控件(带有 3 个选项卡)内的同一个窗口中获得了另外 3 个用户控件 (.xaml)。

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

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

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

【问题讨论】:

    标签: wpf mvvm .net-3.5 command


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 2015-04-06
      • 2022-03-21
      • 2012-05-15
      • 2021-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多