2011-09-25 115 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信息。

相關問題