我发现自己陷入了一个困难的境地,试图解决以下情况:
我有两个视图,每个视图都有一个区域,让我们称它们为View1.RegionA,View2.RegionB。我正在将一个控件注册到这些区域中,让我们称其为Control。控件还有一个区域(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没有设置,并且得到了与开始时相同的错误。
有没有其他的解决方案呢?
发布于 2016-04-08 22:25:26
这是因为您正在显示Control.Region的多个实例,并且由于只允许您具有唯一的区域名称,因此会抛出异常。你在正确的轨道上。您必须使用作用域区域来解决此问题。您很可能在作用域区域的实现中做了一些错误的事情。您的帖子中没有足够的信息来确定这是什么,但我在本PluralSight课程中介绍了范围区域,这将帮助您朝着正确的方向前进:
https://app.pluralsight.com/library/courses/prism-showing-multiple-shells/table-of-contents
https://stackoverflow.com/questions/36501797
复制相似问题