2009-01-25 67 views
1

我正在使用MVVM模式編寫Silverlight應用程序。我有一個主視圖(UserList.xaml)和相應的vm(UserListViewModel.cs)。這用於列出一組用戶。我還有一個UserControl(User.xaml - 作爲模式對話框調用),用於爲新用戶添加詳細信息。這也有它自己的視圖模型(UserViewModel.cs)。Silverlight和多個視圖模型

我的問題是,如何將子視圖模型中的信息(用戶對象)從父視圖中傳回給父視圖?當我在子視圖模型上進行保存時,我需要更新父視圖模型中的集合。應該很簡單,但父視圖模型不知道孩子何時被解僱。即使UserViewModel.User屬性發生更改並引發了PropertyChanged事件,UserListViewModel也不知道它。

這裏的任何幫助,非常感謝。我已經閱讀了Silverlight中有關mvvm的所有內容,但我仍然可以找到一些差距。我希望我已經清楚地概述了我的問題。

回答

3

有很多方法可以做到這一點。您可以將父虛擬機的實例傳遞給構造函數中的子虛擬機。您可以讓父虛擬機訂閱您的代碼運行時子虛擬機公開的事件。

希望這會有所幫助。 :)

+0

謝謝 - 這是一個過度分析的情況。我試圖用MVVM的思維模式去思考這個問題,我只是忽略了創建父虛擬機監聽的事件的想法。我感謝它的基礎。此致, AV – 2009-01-27 03:01:01