Tag: messenger

何时何地取消使用mvvmlight的Messenger

我用mvvmlight构建了一个项目。 在VM或VM和View之间使用Messenger发送消息。 现在,我想知道取消注册信使的时间和地点。 你帮帮我吗? 编辑: 这是我的场景: 有一个MainWindow和一个ChildWindow,ChildWindow(包含一个由两个不同UserControl之一组成的ContentControl),通过ChildWindow中的SwitchButton更改ContenControl。 每个窗口或UserControl对应一个ViewModel。 MainViewModel向MainWindow发送消息以打开ChildWindow ; MainWindow打开ChildWindow (首先使用UserControlView1 ,不要使用UserControlView2 ),并向UserControl1ViewModel发送消息做一些事情; 如果用户单击CancelButton, ChildWindowViewModel向ChildWindowViewModel发送一条消息以关闭; 如果ChildWindowViewModel触发UnloadedCommand , ChildWindow向每个UserControlViewmodel发送一条消息来清理一些东西。 注册和取消注册信使的操作放在构造函数和View或ViewModel的析构函数中,还是放在LoadedCommand和UnloadedCommand的委托方法中? View的Loaded和Unloaded命令绑定到LoadedCommand和UnloadedCommand。