MVVM Light框架Messenger.Default.Unregister 注销消息

MVVMLight框架中的消息注册和注销是避免内存错误的关键。注册通常在ViewModel、Windows或ChildWindows中进行。在ViewModel中,需要在关闭窗口时注销消息,特别是ChildWindow,以防用户通过关闭按钮导致问题。在Windows的.cs页面中,OnNavigatedFrom事件中可自动注销。而对于ChildWindows,需要在关闭方法中手动注销,并可能需要禁用关闭按钮。
摘要由CSDN通过智能技术生成

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"<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值