首页 > 其他分享 >事件聚合器

事件聚合器

时间:2023-03-19 18:57:35浏览次数:40  
标签:OnMessageRecieved 订阅 聚合 eventAggregator 事件 msg GetEvent public

1.定义事件  

  public class MessageEvent : PubSubEvent<String>
  { }

2.发布和订阅  

        private readonly IEventAggregator _eventAggregator;
        //构造函数添加事件聚合器参数
        public ViewAViewModel(IEventAggregator eventAggregator)
        {            
            this._eventAggregator = eventAggregator;
            PubCmd = new DelegateCommand(() => { 
                eventAggregator.GetEvent<MessageEvent>().Publish("pub"); //发布
            });
            SubCmd = new DelegateCommand(() => {
                //eventAggregator.GetEvent<MessageEvent>().Subscribe(OnMessageRecieved);//简单订阅

                //订阅过滤器
                eventAggregator.GetEvent<MessageEvent>().Subscribe(OnMessageRecieved, ThreadOption.PublisherThread,false, msg =>
                {
                    if (msg != "hello") return true;
                    else return false;
                });

                //eventAggregator.GetEvent<MessageEvent>().Unsubscribe(OnMessageRecieved);//取消订阅
            });
        }

        public void OnMessageRecieved(string msg)
        {
            Message += msg + "\r\n";
        }

 

标签:OnMessageRecieved,订阅,聚合,eventAggregator,事件,msg,GetEvent,public
From: https://www.cnblogs.com/chixiner/p/17233913.html

相关文章

  • 【JavaScript】window对象_event事件对象
    1.event对象属性event对象可以获取和设置当前事件的有关信息,比如,获取发生事件的事件源对象,像键盘按下时使用的是哪个按键,鼠标事件发生时的鼠标......
  • 【JavaScript】window对象事件
    window对象-事件专用事件:onload事件:我们需要在网页文档下载完毕时执行的程序代码,需要放在onload事件处理程序中去编写。onunload事件:在网页文......
  • target.closest妙用:UI(click/mousemove/drag/drop)事件元素查找捷径
    首先看下MDN:https://developer.mozilla.org/en-US/docs/Web/API/Element/closest在jQuery时代,这个非常常见$( document ).bind("click", function( e ) {    ......
  • target.closest妙用:UI(click/mousemove/drag/drop)事件元素查找捷径
    首先看下MDN:​​https://developer.mozilla.org/en-US/docs/Web/API/Element/closest​​在jQuery时代,这个非常常见$(document).bind("click",function(e){$(e.t......
  • H5下滑sectionScroll这个事件在ios实现执行一次
    H5下滑sectionScroll这个事件在ios实现执行一次H5下滑sectionScroll这个事在ios执行很多次:$$(document).on('infinite','#sectionScroll',function(){ if(loadi......
  • ALV带有自定义事件
    *&---------------------------------------------------------------------**&ReportZ2023015105*&*&---------------------------------------------------------......
  • leaflet 自定义事件
    leaflet 自定义事件主要使用fire()方法,如下图所示,我在区域热力层点击方法中自定义一个handClick方法,并传值。  再去进行监听  预览单击就会触发我们自定义的方......
  • H3C交换机聚合口trunk级联二层思科交换机聚合口
    H3C5560配置:以下聚合组模式默认为静态模式。注:华三与思科交换机组合组默认选择分别为,华三:静态(static)思科:强制模式(on)端口加入聚合组时需要配置一致,如果无法加入先改为三......
  • 分布式架构-可观测性-聚合度量
    系列目录分布式架构-可观测性(一)-原理概览分布式架构-可观测性(二)-事件日志分布式架构-可观测性(三)-链路追踪分布式架构-可观测性(四)-聚合度量引子分布式架......
  • 重构:banner 中 logo 聚合分散动画
    1.效果展示在线查看2.开始前说明效果实现参考源码:Logo聚集与散开原效果代码基于reactjsx类组件实现。依赖旧,代码冗余。我将基于此进行重构,重构目标:基于最新......