【发布时间】:2013-10-10 03:31:34
【问题描述】:
我正在尝试将来自我的子 ViewModel 的事件传回给父级。子视图模型的视图是一个单独的窗口,我相信我无法将构造函数参数传递给它。此视图上的按钮需要触发父 ViewModel 上的方法。
子视图模型:
public ConnectViewModel(ConnectEvents connectEvents)
{
ConnectEvents = connectEvents;
}
父视图模型
public MainWindowViewModel()
{
ConnectEvents connectEvents = new ConnectEvents();
ConnectViewModel = new ConnectViewModel(connectEvents);
connectEvents.ThrowEvent += ConnectToServer;
}
如何在这两者之间进行通信?有没有更好的系统,或者我怎样才能让父母订阅孩子?
【问题讨论】:
-
如果你真的想实现 MVVM,你应该看看命令模式。
-
是否可以将命令传递给另一个视图模型?它们有不同的数据上下文。
-
这就是它的作用,看定义:en.wikipedia.org/wiki/Command_pattern