MVVM光-子视图和对话框
本文关键字:对话框 视图 MVVM | 更新日期: 2023-09-27 17:49:19
我正在尝试MVVMLight和Windows Phone 7,到目前为止发现它相对容易。有一件事我不能得到我的头周围是产卵新的子窗口/视图。例如:如果我想创建/导航到一个新视图,允许用户编辑一个项目,然后在他们返回时刷新数据库中的项目列表,我是否应该为视图的每次激活添加某种处理程序,或者我是否可以导航到编辑视图,然后在视图关闭时触发一个回调(NavigationService)。
我使用的是消息传递框架。让MainViewModel订阅一条应该使其刷新的消息,然后从子页面发出该消息。仍然在内存中的MainViewModel将听到该消息并能够响应。我在我的博客http://chriskoenig.net/2010/07/05/mvvm-light-messaging/上有一个这样的例子,但请注意,您也可以创建自己的自定义消息(我个人一直这样做),然后手动提高它们:
// In MainViewModel
Messenger.Default.Register<ChildProcessCompleteMessage>(this, () => RefreshData());
// In ChildViewModel
Messenger.Default.Send<ChildProcessCompleteMessage>(new ChildProcessCompleteMessage());
这是我在我的应用程序中使用的一个模式,它允许视图模型之间的通信。我不确定这是否完全回答了你的问题,所以如果你需要更多的信息,请告诉我。