2011-09-25 121 views
1

我的应用程序包含以下moduls:如何反映对其他窗口对ViewModels所做的更改?

SystemModel - >SystemViewModel - >SystemWindow

SettingsModel - >SettingsViewModel - >SettingsWindow

我的SystemViewModel包含SettingsViewModel和其他东西。 在我的SystemViewModel我创建了一些实例,其ctor收到SettingsViewModel

如果我想更新的设置我打开新SettingsWindow的ShowDialogSettingsViewModel为他的DataContext。如果用户点击“确定”,我更新设置,否则我不更新。

我的问题是,我不知道如何更新设置实例我在SystemViewModel实例接受SettingsViewModel在他的构造函数)创建的。

有什么想法?

+0

如果需要,我可以稍后添加一些代码 – Maya

回答

1

您是否可以创建设置视图模型的一个实例,可能驻留在公共视图模型中,该视图模型为视图模型提供一种根并提供将模型绑定在一起的粘合剂?

就像一个视图模型控制器,即使这听起来有点奇怪。此根视图模型可以对来自视图模型的事件作出反应,然后可以完成更新其他设置所需的所有操作。

另一种方法是基于消息的方法,就像MVVM Light Toolit实现的方法。我曾经使用过这种方法,并且在项目变得相当庞大之后,这种方法在维护方面有点复杂。

更新:

您可以找到有关MVVM光工具包here信息。

相关问题