【发布时间】:2013-01-08 12:25:38
【问题描述】:
我正在开发一个使用 WPF、Unity 和 Prism 4 的 .Net 应用程序。该应用程序将包含一个在选项卡页上具有多个视图的 shell。该应用程序严重依赖名为 SystemTreeModule 的模块,该模块包含将出现在许多地方的SystemTreeView。
我刚刚完成了我的第一个视图,其中定义了一个名为“SystemTreeRegion”的区域。在 SystemTreeModule 中,我在该区域注册了我的 SystemTreeView 实例。奇迹般有效! SystemTreeView 类型是使用 Unity 的自动发现功能发现的(因此它没有显式注册):
public void Initialize()
{
_regionManager.RegisterViewWithRegion("SystemTreeRegion", () => _container.Resolve<SystemTreeView>());
}
现在是时候开始我要使用SystemTreeView 的第二个模块的工作了。当我在新视图中创建一个名为“SystemTreeRegion”的区域时,我感到非常自信,但它失败了,出现以下异常:
创建名为“SystemTreeRegion”的区域时发生异常。 例外是:System.ArgumentException:具有给定名称的区域已注册:SystemTreeRegion
所以我已经在 Google 和 StackOverflow 上搜索了答案,但我无法弄清楚你应该如何做到这一点!
我什至无法判断我是否只是遗漏了一些细节,或者我是否在概念上偏离了...
【问题讨论】:
标签: c# .net wpf prism unity-container