首页 > 其他 > 详细

MVVM中的Messenger

时间:2018-05-11 15:15:17      阅读:189      评论:0      收藏:0      [点我收藏+]

    通过Mvvm Light源码我们可以知道Messenger的实现细节,如果你现在还不能理解这些代码也没关系,很多东西理解起来远比使用起来难,Messenger也是如此,它使用起来很简单,由于Messenger只公开了一些消息注册和发送方法,使用者一看便知方法的功能,而只需关注要发送的数据和接收的对象就可以了。

1、发送:

 1 Messenger.Default.Send<string>("StartRecordVis");//开始录制可见光,发送消息 

2、接收:

技术分享图片
 1 1 Messenger.Default.Register<string>(this, BDRecordVideo);// 开始录制
 2  2 private void BDRecordVideo(string obj)
 3  3         {
 4  4             switch (obj)
 5  5             {
 6  6                 case "StartRecordVis":
 7  7                     this.visVideo.StartCapture("vis");//录制可见光
 8  8                     break;
 9  9                 case "StartRecordInf":
10 10                     this.infVideo.StartCapture("inf");//录制红外
11 11                     break;
12 12             }
13 13         }
View Code

3、清理

Messenger通过全局的字典集合来保存弱引用关系,因此在对象不使用时,我们要养成清理的习惯,调用Unregister来从字典集合中移除引用关系。

 1 Messenger.Default.Unregister(this);  

 

MVVM中的Messenger

原文:https://www.cnblogs.com/LY-HeroesRebor/p/9024700.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!