PRISM RegionManager区域在多个区域内

时间:2016-04-08 14:09:30

标签: c# wpf prism region

我发现自己陷入困境,试图解决以下问题:

我有两个视图,每个视图有1个区域,让我们调用这些View1.RegionA,View2.RegionB。 我正在向这些区域注册一个控件,让我们调用这个控件。 控件还有一个区域(Control.Region),我正在注册另一个控件,让我们调用这个SubControl

|Module_A
  -View1
  --RegionA
|Module_B
  -View2
  --RegionB
|Module_C
  -Control
  --Control.Region
  -Subcontrol

当我尝试打开包含View1和View2的MainView时,出现以下错误:

“已注册具有给定名称的区域:Control.Region”

我已尝试使用Scoped regions解决此问题,但当我这样做时,我的应用程序崩溃是因为它试图在应用程序启动时实例化视图,这导致我的应用程序崩溃,因为对象的负载未初始化那一点。

我也尝试绑定到Control.Region.RegionName属性,但是在这种情况下我的RegionContext没有设置并且得到了与开头相同的错误。

还有其他解决办法吗?

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您正在显示Control.Region的多个实例,并且由于您只允许使用唯一的区域名称,因此会引发异常。你走在正确的轨道上。您必须使用范围区域来解决此问题。您最有可能在实施范围区域时出错。您的帖子中没有足够的信息来识别它是什么,但是我在这个PluralSight课程中涵盖范围内的区域,这应该有助于您朝着正确的方向前进:

https://app.pluralsight.com/library/courses/prism-showing-multiple-shells/table-of-contents