何时何地取消使用mvvmlight的Messenger

我用mvvmlight构建了一个项目。 在VM或VM和View之间使用Messenger发送消息。 现在,我想知道取消注册信使的时间和地点。 你帮帮我吗?

编辑:

这是我的场景:

有一个MainWindow和一个ChildWindow,ChildWindow(包含一个由两个不同UserControl之一组成的ContentControl),通过ChildWindow中的SwitchButton更改ContenControl。 每个窗口或UserControl对应一个ViewModel。

在此处输入图像描述

  1. MainViewModelMainWindow发送消息以打开ChildWindow ;
  2. MainWindow打开ChildWindow (首先使用UserControlView1 ,不要使用UserControlView2 ),并向UserControl1ViewModel发送消息做一些事情;
  3. 如果用户单击CancelButton, ChildWindowViewModelChildWindowViewModel发送一条消息以关闭;
  4. 如果ChildWindowViewModel触发UnloadedCommandChildWindow向每个UserControlViewmodel发送一条消息来清理一些东西。

注册和取消注册信使的操作放在构造函数和View或ViewModel的析构函数中,还是放在LoadedCommand和UnloadedCommand的委托方法中? View的Loaded和Unloaded命令绑定到LoadedCommand和UnloadedCommand。