Caliburn.Micro使用事件聚合器
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使用事件聚合器相关推荐
- 事件聚合器 - Caliburn.Micro 文档系列
文章目录 事件聚合器 (Event Aggregator) 入门 创建与生命周期 发布事件 使用自定义线程发布事件 订阅事件 订阅许多事件 多态的订阅者 查询处理程序 协同感知订阅者 任务感知订阅者 ...
- .NET Core 3 WPF MVVM框架 Prism系列之事件聚合器
本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 一.事件聚合器 在上一篇 .NET Core 3 WPF MVVM框架 Prism系列之模块化 ...
- 从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator?
从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator? 原文:从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator? 从PRISM开始学 ...
- c#事件的发布-订阅模型_NET Core 3 WPF MVVM框架 Prism系列之事件聚合器
本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 一.事件聚合器# 在上一篇 .NET Core 3 WPF MVVM框架 Prism系列之模块化 ...
- prism EventAggregator(事件聚合器)
1 根据<prism 搭建项目>搭建Prism项目 2 新建类库项目Prism.UseEventAggregator,创建MessageSentEvent类,使其继承于PubSubEven ...
- 【Prism 8】事件聚合器(Event Aggregator)
步骤: 继承PubSubEvent<T>创建自定义事件类型 创建事件发送者 创建事件接收者,并订阅指定的事件 1. 事件聚合器 Prism 提供了一种机制,可以实现应用程序中松散耦合组件之 ...
- 0619-EventAggregator 事件聚合器 INotifyCollectionChanged DataTemplate ControlTemplate Region binding
EventAggregator是Prism中专门处理ViewModel与ViewModel之间事件传递的类对象,它提供了针对事件的发布方法和订阅方法,所以可以非常方便的来管理事件.下面的图就是其实现的 ...
- Caliburn.Micro 杰的入门教程3,事件和参数
Caliburn.Micro 杰的入门教程1(翻译) Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译) Caliburn.Micro 杰的入门教程 ...
- C# WPF MVVM模式Caliburn.Micro框架下事件发布与订阅
01 - 前言 处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Caliburn提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间 ...
最新文章
- 基于winpcap开发的相关资料
- java资料——线性表(转)
- win8--PPTP教程
- Gradle 使用技巧(二) - SO/NDK过滤
- Java基础学习总结(25)——Log4j快速入门教程
- 一步一步写算法(之选择排序)
- 【报告分享】5G时代新型基础设施建设白皮书.pdf
- CF573E Bear and Bowling 贪心、分块、凸包
- SpringMVC 、Struts2之间的区别
- ylbtech-LanguageSamples-Libraries(库)
- 小程序停止html5音乐,微信小程序-音乐播放器+背景播放
- 通过编译TPC-DS生成测试数据并发送到benchmark进行查询测试
- 一脸懵逼搭建Zookeeper分布式集群
- 计算机普通用户禁止修改c盘,win10系统禁止Guest账户访问C盘的设置技巧
- IT人,自我营销,你懂吗?
- 打包php程序为安装文件,zblogphp主题和插件怎么打包成.zba格式文件
- 华为matepad和华为matepadpro区别
- Araxis Merge对比软件工具
- WeChat------小程序返回上一页万能代码
- 这样写英文Email,老外会感觉你很有礼貌、很有风度,很想帮助你