我用 mvvmlight 构建了一个项目。使用 Messenger 在 VM 之间或 VM 与 View 之间发送消息。现在,我想知道何时何地取消注册Messenger。你能帮我吗?
Edited:
这是我的场景:
有一个MainWindow和一个ChildWindow,ChildWindow(包括一个由两个不同UserControl之一组成的ContentControl),通过ChildWindow中的SwitchButton更改ContenControl。每个窗口或 UserControl 对应一个 ViewModel。
-
MainViewModel
发送消息至MainWindow
打开ChildWindow
;
-
MainWindow
打开ChildWindow
(首先使用UserControlView1
,不要使用UserControlView2
),并发送消息至UserControl1ViewModel
做一点事;
- 如果用户单击取消按钮,
ChildWindowViewModel
发送消息至ChildWindow
关闭;
- If
ChildWindowViewModel
fire UnloadedCommand
, ChildWindow
向每个发送一条消息UserControlViewmodel
清理一些东西。
注册和注销messenger的操作是放在View或ViewModel的构造函数和析构函数中,还是放在LoadedCommand和UnloadedCommand的委托方法中? View的Loaded和Unloaded的命令绑定到LoadedCommand和UnloadedCommand。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)