当前章节,实现了消息事件过滤功能
在上一章节中,我们发现在Login视图页和Main视图页都使用了同一个事件聚合器,导致在Login视图页发送的消息也被Main 视图主页所接收,这违反了事件传递的意图和模块化设计的原则。为了解决这个问题,我们需要为事件聚合器引入消息过滤的行为。
具体来说,我们需要为事件定义一个明确的类型,并在发送消息时指定其类型。同时,在订阅消息时,我们也应指定我们要订阅的消息类型。这样,只有订阅了特定类型消息的页面才会接收到并处理这些消息。
一.修改事件聚合器,增加事件过滤行为
- 修改事件聚合器消息模型,增加消息类型 FilterType 属性和消息内容 Message 属性
原来的消息模型
public class MessageEvent:PubSubEvent<string