2009-01-25 39 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