gpt4 book ai didi

c# - PRISM:一个区域中的嵌套区域

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:47 34 4
gpt4 key购买 nike

该项目基于 PRISM。

我在 Shell 的 TabControl 中有一个主要区域。

        <!-- Main Region : A tab control -->
<TabControl prism:RegionManager.RegionName="MainRegion" >
</TabControl>

然后,我有几个模块,它们都包含相同的 View 。并且必须添加到选项卡控件区域。

|_ModuleA
| |_ViewA
|
|_ModuleB
|_ViewB

请检查图像。在选项卡ModuleA中,它显示在选项卡内容的左侧ViewA,右侧是通用 View ,因为所有选项卡必须显示相同的UI。

enter image description here

我该怎么做?

最佳答案

我想“lecrank”已经回答了这个问题。在其他 Region 或 View 中添加 Region 是没有问题的。我在我的项目中做了什么:

  • 每个模块在构造函数中接收 IRegionManager 和 IEventAggregator 对象的副本(我使用 MEF)
  • Initialize() 函数中,每个模块注册它自己的区域和它自己的 View 等等...
  • 每当事件或程序流应该传递给另一个模块(例如)时,我只是 .Publish() 带有参数的预定义事件(CompositePresentationEvent)。
  • Shell 本身只是一个空模板,它只定义了几个“全局”区域(如您场景中的 TabControl),其上显示的所有内容都来自不同的模块 View ,而不是在 Shell 类甚至包含项目的 Shell 中实现。

因此,请随意在其他模块中定义和实现区域和 View - 只需将 IRegionManager 和 IEventAggregator 实例以某种方式传递到模块类中即可。

关于c# - PRISM:一个区域中的嵌套区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446919/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com