Mvvm 如何订阅来自不同模块/程序集的事件?

Mvvm 如何订阅来自不同模块/程序集的事件?,mvvm,prism,Mvvm,Prism,我这样做是为了在一个模块中发布/订阅事件: eventAggregator.GetEvent<StudioEnableEvent>().Publish((bool)arguments.ElementAt(1)); eventAggregator.GetEvent().Publish((bool)arguments.ElementAt(1)); 然后: eventAggregator.GetEvent<StudioEnableEvent>().Subscribe(Get

我这样做是为了在一个模块中发布/订阅事件:

eventAggregator.GetEvent<StudioEnableEvent>().Publish((bool)arguments.ElementAt(1));
eventAggregator.GetEvent().Publish((bool)arguments.ElementAt(1));
然后:

eventAggregator.GetEvent<StudioEnableEvent>().Subscribe(GetStudioEnableFromImport); 
eventAggregator.GetEvent().Subscribe(GetStudioEnableFromImport);
而StudioEnableEvent只是:

 public class StudioEnableEvent : PubSubEvent<bool> 
    {
    }
公共类StudioEnableEvent:PubSubEvent
{
}

现在我想做同样的事情,但是对于位于两个不同模块中的发布者和订阅者,它们不需要引用模块程序集。

解决此问题的最佳方法是在解决方案中有一个所有模块项目都可以引用的项目。我喜欢叫我的核心,或者类似的东西。在那里,我创建了事件类,这样我就可以在所有模块中共享它们。您也可以在此项目中声明任何其他共享资源。

解决此问题的最佳方法是在解决方案中有一个所有模块项目都可以引用的项目。我喜欢叫我的核心,或者类似的东西。在那里,我创建了事件类,这样我就可以在所有模块中共享它们。您也可以在此项目中声明任何其他共享资源。

是的,我也在考虑这个问题。我已经为跨平台共享的接口做了这些,但我只是想知道是否有更好的方法。谢谢。我现在想不出更好的方法了。我喜欢这些集中的项目;它们适合举办活动、异常、简单服务等。是的,我也在考虑这个问题。我已经为跨平台共享的接口做了这些,但我只是想知道是否有更好的方法。谢谢。我现在想不出更好的方法了。我喜欢这些集中的项目;它们适用于保存事件、异常、简单服务等。