我正在构建一个稍微复杂的棱镜应用程序。客户要求我必须在ModuleB中使用ModuleA功能。
我的问题是,当我在ModuleB中引用ModuleA命名空间并导航到它的视图时,它是否打破了棱镜的去耦目的。如果是,我该如何解决?
RequestNavigate
方法的两个化身(这是开始导航的推荐方式)有意将视图指定为URI,这样就不需要在模块代码中指定视图的实际类型。
从名称中解析实际类型和从类型中解析实例分别由区域管理器和容器完成,这两者都是在应用程序的引导序列中配置的,不属于任何特定模块。
您目前是如何跨越模块边界进行导航的?
您需要使用IEventAggregator
并通过它发布/订阅弱事件(CompositePresentationEvent<TPayload>
)。
这是一个样品。
这是相关的msdn链接。