wpf prism ieventaggregator代码示例
时间: 2023-07-02 07:10:42 浏览: 106
下面是一个使用 WPF Prism 的 IEventAggregator 接口的代码示例:
首先,你需要在你的 ViewModel 中注入 IEventAggregator:
```csharp
public class MyViewModel : BindableBase
{
private readonly IEventAggregator _eventAggregator;
public MyViewModel(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
}
...
}
```
然后,你可以在你的 ViewModel 中订阅事件:
```csharp
public class MyViewModel : BindableBase
{
private readonly IEventAggregator _eventAggregator;
private readonly SubscriptionToken _subscriptionToken;
public MyViewModel(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
// 订阅事件
_subscriptionToken = _eventAggregator.GetEvent<MyEvent>().Subscribe(OnMyEvent);
}
private void OnMyEvent(string message)
{
// 处理事件
}
// 在 ViewModel 销毁时取消订阅
public override void Destroy()
{
_eventAggregator.GetEvent<MyEvent>().Unsubscribe(_subscriptionToken);
base.Destroy();
}
}
```
最后,你可以在你的任意位置发布事件:
```csharp
_eventAggregator.GetEvent<MyEvent>().Publish("Hello World!");
```
以上就是一个简单的使用 WPF Prism 的 IEventAggregator 接口的示例。
阅读全文