使用 MVVM 和视图模型通信的 WPF 窗口模式对话框

Posted

技术标签:

【中文标题】使用 MVVM 和视图模型通信的 WPF 窗口模式对话框【英文标题】:WPF window modal dialog using MVVM and viewmodel communication 【发布时间】:2010-12-05 23:02:23 【问题描述】:

我在 WPF 中使用 MVVM 模式。我有一个主窗口。主窗口有一个视图模型。单击主窗口上的按钮会打开一个模态对话框。在这个模态对话框中有一个用户控件。这个用户控件也有一个视图模型。当我更改用户控件中的属性时,如何让主窗口知道更改。

我不明白主窗口的视图模型和模态对话框之间的通信。

谢谢

【问题讨论】:

【参考方案1】:

在 ViewModel 之间进行交流的一种好方法是使用消息传递,实现这一点的一种好方法是使用 MVVM Light Toolkit。

您可以了解更多信息here

【讨论】:

我不能使用 MVVM 框架,因为我必须让部署人员保持简单。 可以看源码,带头了解MVVM light如何处理Messaging。顺便说一句,您为什么认为 MVVM Light 会使您的部署复杂化。

以上是关于使用 MVVM 和视图模型通信的 WPF 窗口模式对话框的主要内容,如果未能解决你的问题,请参考以下文章

WPF MVVM 对话框示例

WPF MVVM 将用户控件绑定到主窗口视图模型

如何从 mvvm 中的视图模型关闭视图?

WPF MVVM绑定窗口图标到视图模型中的属性

使用 MVVM 在 WPF 中创建新窗口的最佳方法

在 MVVM 模式中,模型和视图啥时候直接相互通信?