1

我有一个用于显示两个网格的“父”控件的 ViewModel。第一个网格包含父级信息,第二个网格显示所选父级的相关子级。

这可以正常工作。但是问题是我必须提供一个更新按钮。单击它后,用户将看到所选父级的子级并选择是否删除它们。这是通过一个子窗口完成的,该窗口包含显示相关子项的相同网格,但是该网格处于“启用”模式。

所以问题是 MVVM 使用什么模式来:1)获取子窗口的数据?2)在子窗口内成功更新后,更新父窗口?

谢谢,

4

1 回答 1

2

您应该考虑利用中介者模式来启用控件的视图模型和子窗口的视图模型之间的通信。

请参阅此答案以获取中介模式的基本概述。使用此模式,您可以采取的一种方法是在单击更新按钮时发布一条消息,该消息由显示子窗口的侦听器处理(消息将携带子窗口数据,并在显示)。成功更新后,子窗口将发布一条消息,父窗口将监听该消息,该消息将携带更新父窗口的信息。

您可能还想查看 PRISM 4 指南中的用户交互模式部分。即使您不使用 PRISM,所采用的一般原则和方法也是经过深思熟虑的。

于 2011-05-20T16:49:55.773 回答