目的
事件聚合
使用方法
事件参数类
using Microsoft.Practices.Prism.Events;
/// <summary>
/// 定义事件,切换主题
/// </summary>
public class ChangeSystemThemeEvent : CompositePresentationEvent<string> { }
发布事件
using Microsoft.Practices.ServiceLocation;
using Microsoft.Practices.Prism.Events;
// 发布 改变系统主题事件
ServiceLocator.Current.GetInstance<IEventAggregator>().GetEvent<ChangeSystemThemeEvent>().Publish("主题名称");
订阅事件
using Microsoft.Practices.Prism.Events;
//订阅 改变系统主题事件
SubscriptionToken eventToken= ServiceLocator.Current.GetInstance<IEventAggregator>().GetEvent<ChangeSystemThemeEvent>().Subscribe(ChangeThemeEvent);
/// <summary>
/// 切换主题
/// </summary>
void ChangeThemeEvent(string theme)
{
// TODO:切换系统主题处理逻辑
// Step 1.
// Step 2.
// Step 3.
}
取消订阅事件
using Microsoft.Practices.ServiceLocation;
using Microsoft.Practices.Prism.Events;
// 取消订阅事件
ServiceLocator.Current.GetInstance<IEventAggregator>().GetEvent<ChangeSystemThemeEvent>().Unsubscribe(eventToken);