2011-06-04 63 views
2

簡單的問題(使用WPF/C#,MVVM,實體框架):同步WPF中的ViewModels

我有兩個非模態對話框窗口。這兩個窗口使用相同的實體。 但是有兩個不同的ViewModels,因爲ViewModels是在windows的兩個構造函數中創建的,所以兩個不同ObjectContexts

問題:兩個ViewModels使用兩個不同的ObjectContexts(的EF),但我需要兩個窗口同步。也就是說,當用戶在一個窗口中更改某些實體時,應通知第二個實體。實體顯示爲包含詳細信息的列表。

請問,MVVM中如何做到這一點最主要的方法是什麼?

+0

「同步」是模型的要點。 (即:MVVM中的第一個'M') – 2011-06-04 21:59:08

回答

2

我認爲你需要在這裏退後一步。在我看來,你真正想要的是在兩個不同的窗口中共享一個ViewModel,那麼爲什麼你不這樣做呢?將創建ViewModel的責任從這兩個窗口的ctors中移出並放入一些負責使用共享ViewModel實例實例化窗口的東西。