事件聚合器
约 195 字小于 1 分钟
PrismC#MVVMWPF
2025-06-10
MessageSentEvent.cs
public class MessageSentEvent : PubSubEvent<string> { }发布事件:
_eventAggregator.GetEvent<MessageSentEvent>().Publish("Hello from MainViewModel");订阅事件:
_eventAggregator.GetEvent<MessageSentEvent>().Subscribe(MessageReceived);事件处理方法:
private void MessageReceived(string message)
{
Message = message;
}注意事件的参数是一个 String 类型,所以发布事件时需要传入一个 String 类型的参数,订阅事件时也需要定义一个 String 类型参数的方法来处理事件。
如果事件参数是一个自定义的类,那么发布事件时需要传入一个自定义类的实例,订阅事件时也需要定义一个处理自定义类实例的方法来处理事件,这样子可以用来处理多参数的情况。