1

我有 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
            }
        }

    }
4

0 回答 0