我有 Prism Shell 应用程序,有一个类主要关注订阅事件的执行方法。这些事件是从我的解决方案中的一个单独模块触发的。
我的课程是ApplicationMenuSubscriber,它在我的 shell 应用程序中。我的外壳使用 MEFBootStrapper 进行引导。我可能不想直接将我的 ApplicationMenuSubscriber 连接到 shell 启动中,而是希望这个类由 MEF 自动拾取。有没有办法在棱镜中做到这一点
public class ApplicationMenuSubscriber
{
private readonly IRegionManager regionManager;
private readonly IMenuService menuService;
private readonly IEventAggregator events;
[ImportingConstructor]
public ApplicationMenuSubscriber(IRegionManager regionManager, IEventAggregator events, IMenuService menuService)
{
this.regionManager = regionManager;
this.menuService = menuService;
this.events = events;
//subscribe to events
events.GetEvent<MenuEvent>().Subscribe(MenuFired);
}
private void MenuFired(ApplicationEventArgs obj)
{
//check
if (obj.Source == MenuConstants.LOGIN)
{
//log
}
}
}