MVVMLight 框架中有用到Messenger.Default.Register 来注册消息,因此必须要有Messenger.Default.Unregister 来注销消息,否则可能会发生内存错误。那么他们分别放在哪呢?以下简洁的描述下:
消息的注册或注销 一般在Silverlight会有三个地方可能出现,分别是ViewModel、Windows或者是ChildWindows。那我就分别按照这三个地方来讲下:
1、ViewModel
public ManageWindowViewModel() { if (!IsInDesignMode) {
CloseWindowCommand = new RelayCommand(CloseWindow);
Messenger.Default.Register<ChildWindowMessage<CategoryWindowViewModel>>(this, "CloseCategoryWin"<