我正在使用MVVM模式编写Silverlight应用程序。我有一个主视图(UserList.xaml)和相应的vm(UserListViewModel.cs)。这用于列出用户集合。我还有一个UserControl(User.xaml - 作为模态对话框调用),用于为新用户添加详细信息。它还有一个自己的ViewModel(UserViewModel.cs)。
我的问题是,在解除子视图后,如何将子视图模型中的信息(用户对象)传递回父级?当我在子视图模型上进行保存时,我需要在父视图模型中更新集合。应该足够简单,但父视图模型不知道孩子什么时候被解雇。即使更改了UserViewModel.User属性并且引发了PropertyChanged事件,UserListViewModel也不会知道它。
非常感谢任何帮助。我已经阅读了Silverlight中有关mvvm的所有内容,但我仍然存在一些差距。我希望我已经清楚地概述了我的问题。
答案 0 :(得分:3)
有很多方法可以做到这一点。您可以将父VM的实例传递给构造函数中的子VM。您可以让父虚拟机订阅代码运行时子虚拟机公开的事件。
希望这会有所帮助。 :)