我发现自己陷入困境,试图解决以下问题:
我有两个视图,每个视图有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没有设置并且得到了与开头相同的错误。
还有其他解决办法吗?
答案 0 :(得分:0)
这种情况正在发生,因为您正在显示Control.Region的多个实例,并且由于您只允许使用唯一的区域名称,因此会引发异常。你走在正确的轨道上。您必须使用范围区域来解决此问题。您最有可能在实施范围区域时出错。您的帖子中没有足够的信息来识别它是什么,但是我在这个PluralSight课程中涵盖范围内的区域,这应该有助于您朝着正确的方向前进:
https://app.pluralsight.com/library/courses/prism-showing-multiple-shells/table-of-contents