繁体   English   中英

PRISM WPF(MEF)-另一个Shell中的Shell

[英]PRISM WPF (MEF) - Shell within another Shell

我的应用程序中有一些重要的逻辑组件,我计划将它们创建为具有各自模块的不同PRISM shell。 尽管它们目前可以是独立的模块,但我们可能会在稍后阶段收到从一个大型表单中全部启动它们的请求。 因此,如果发生这种情况,我将必须启动现在将要从较大的Shell编写的Prism“ shell”。 那有可能吗? 我可以将一个外壳加载到另一个外壳中吗(-就像每个内部外壳的选项卡一样)。 如果不能,我现在可以考虑哪些一般替代方案或任何设计建议。 我仍处于应用程序的设计阶段,并且一旦实现就非常僵化,我可以放弃PRISM。

为了将每个Shell加载到单独的窗口中,您可以签出以下文章,该文章显示了Prism-v2中创建多外壳应用程序的示例。 但是,将其适应Prism 4将非常简单:

通过为每个模块使用单个Bootstrapper ,将来会更容易扩展它们之间的通信。 您可能还需要在每个Window上设置一个RegionManager更新,以正确注册示例中描述的每个Shell的每个Region

除了RegionManager之外Prism提供的其余服务(例如EventAggregatorModuleManager )都独立于应用程序的UI / 区域 ,因此您应该可以在所有窗口中使用它们而不会出现问题。

不过,如果你会加载每个贝壳上的独立选项卡,你可以定义TabRegionTabControl的外壳应用程序 ,然后注册,并加载每个内TabRegion像他们简单的浏览 在每个模块的 Initialize()方法上注册视图将在初始化完成后加载每个视图

有关管理模块区域的更多信息,您可能会发现以下《 MSDN Prism指南》各章有用:

希望对您有帮助,

问候。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM