wpf ieventaggregator代码示例
时间: 2023-07-02 07:04:58 浏览: 87
WPF示例代码
下面是一个简单的 WPF 示例,展示了如何使用 Prism 事件聚合器(EventAggregator)来实现模块之间的松耦合通信:
1. 首先,在您的项目中添加 Prism 库引用。您可以通过 NuGet 程序包管理器来安装 Prism。
2. 在你的 ViewModel 中创建一个事件聚合器对象:
```
private readonly IEventAggregator _eventAggregator;
public YourViewModel(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
// 订阅一个事件
_eventAggregator.GetEvent<MyEvent>().Subscribe(OnMyEventReceived);
}
private void OnMyEventReceived(string message)
{
// 处理事件
}
```
3. 在需要发布事件的地方,使用事件聚合器来发布事件:
```
_eventAggregator.GetEvent<MyEvent>().Publish("Hello World!");
```
4. 在需要订阅事件的地方,使用事件聚合器来订阅事件:
```
_eventAggregator.GetEvent<MyEvent>().Subscribe(OnMyEventReceived);
private void OnMyEventReceived(string message)
{
// 处理事件
}
```
注意:在使用事件聚合器时,建议使用 Prism 的 MVVM 框架来实现松耦合通信。这样可以将视图和 ViewModel 分离,使代码更加清晰易懂。
阅读全文