Caliburn.Micro框架使用观察者模式实现了事件聚合器

Caliburn.Micro对参数采用强类型的方式,相比MvvmLight算是省心,易用

详细的说明参见官方文档https://caliburnmicro.com/documentation/event-aggregator

主要记录一下使用步骤:

1,在Bootstrapper中的Configure方法中向IOC容器注册EventAggregator(在安装了Caliburn.Micro.Start中会有这行代码)

container.Singleton<IEventAggregator, EventAggregator>();

2,声明一参数类(或者不新建,直接使用简单类型 如int 但不利于可维护)

public class MessagerSelectItemModel{public MainTabItem MainTabItem{get;set;}}

3,在需要接收事件的VM中订阅,并实现IHandle接口

IHandle<MessagerSelectItemModel>  //VM类 实现接口IoC.Get<IEventAggregator>().Subscribe(this); //构造函数中注册//实现接口
public void Handle(MessagerSelectItemModel message){SelIndex =(int) message.MainTabItem;}

4,在需要发布事件的VM中Public事件

IoC.Get<IEventAggregator>().PublishOnUIThread(new MessagerSelectItemModel());

官网有说明:为了防止内存泄露应取消订阅

Caliburn.Micro使用事件聚合器相关推荐

  1. 事件聚合器 - Caliburn.Micro 文档系列

    文章目录 事件聚合器 (Event Aggregator) 入门 创建与生命周期 发布事件 使用自定义线程发布事件 订阅事件 订阅许多事件 多态的订阅者 查询处理程序 协同感知订阅者 任务感知订阅者 ...

  2. .NET Core 3 WPF MVVM框架 Prism系列之事件聚合器

    本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 一.事件聚合器  在上一篇 .NET Core 3 WPF MVVM框架 Prism系列之模块化 ...

  3. 从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator?

    从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator? 原文:从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator? 从PRISM开始学 ...

  4. c#事件的发布-订阅模型_NET Core 3 WPF MVVM框架 Prism系列之事件聚合器

    本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 一.事件聚合器#  在上一篇 .NET Core 3 WPF MVVM框架 Prism系列之模块化 ...

  5. prism EventAggregator(事件聚合器)

    1 根据<prism 搭建项目>搭建Prism项目 2 新建类库项目Prism.UseEventAggregator,创建MessageSentEvent类,使其继承于PubSubEven ...

  6. 【Prism 8】事件聚合器(Event Aggregator)

    步骤: 继承PubSubEvent<T>创建自定义事件类型 创建事件发送者 创建事件接收者,并订阅指定的事件 1. 事件聚合器 Prism 提供了一种机制,可以实现应用程序中松散耦合组件之 ...

  7. 0619-EventAggregator 事件聚合器 INotifyCollectionChanged DataTemplate ControlTemplate Region binding

    EventAggregator是Prism中专门处理ViewModel与ViewModel之间事件传递的类对象,它提供了针对事件的发布方法和订阅方法,所以可以非常方便的来管理事件.下面的图就是其实现的 ...

  8. Caliburn.Micro 杰的入门教程3,事件和参数

    Caliburn.Micro 杰的入门教程1(翻译) Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译) Caliburn.Micro 杰的入门教程 ...

  9. C# WPF MVVM模式Caliburn.Micro框架下事件发布与订阅

    01 - 前言 处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Caliburn提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间 ...

最新文章

  1. 基于winpcap开发的相关资料
  2. java资料——线性表(转)
  3. win8--PPTP教程
  4. Gradle 使用技巧(二) - SO/NDK过滤
  5. Java基础学习总结(25)——Log4j快速入门教程
  6. 一步一步写算法(之选择排序)
  7. 【报告分享】5G时代新型基础设施建设白皮书.pdf
  8. CF573E Bear and Bowling 贪心、分块、凸包
  9. SpringMVC 、Struts2之间的区别
  10. ylbtech-LanguageSamples-Libraries(库)
  11. 小程序停止html5音乐,微信小程序-音乐播放器+背景播放
  12. 通过编译TPC-DS生成测试数据并发送到benchmark进行查询测试
  13. 一脸懵逼搭建Zookeeper分布式集群
  14. 计算机普通用户禁止修改c盘,win10系统禁止Guest账户访问C盘的设置技巧
  15. IT人,自我营销,你懂吗?
  16. 打包php程序为安装文件,zblogphp主题和插件怎么打包成.zba格式文件
  17. 华为matepad和华为matepadpro区别
  18. Araxis Merge对比软件工具
  19. WeChat------小程序返回上一页万能代码
  20. 这样写英文Email,老外会感觉你很有礼貌、很有风度,很想帮助你

热门文章

  1. iphone html文字颜色,iPhone 备忘录字体颜色与字体大小怎么改教你这些方法
  2. ISD1820语音模组的使用
  3. 基于51单片机的教室智能照明控制设计
  4. 从电脑的角度介绍什么叫做单片机
  5. 农行c3开发语言,【解密】C3境外系统全面崛起,农行谱写新篇章
  6. 超声波风速风向仪的工作原理
  7. windows7安装配置jdk1.8
  8. 办公小秘诀——Word及Excel(一)
  9. elasticsearch做如何进行日志采集
  10. 南京有条件建成完整大数据产业链