【发布时间】:2011-05-16 18:45:32
【问题描述】:
我们正在使用 Castle Windsor 和 Prism 4(2010 年 2 月)。我们正在使用 Windsor 引导程序,它可以让 Castle 与 CompositeWPFContrib 包中发布的 Prism 配合得很好。
我正在尝试在我的主 Shell 的 XAML 上定义区域。如果我定义一个区域,像这样:
<ContentControl prism:RegionManager.RegionName="{x:Static core:RegionNames.ToolBarRegion}"
DockPanel.Dock="Top"/>
然后在我的模块初始化方法之一中执行以下操作:
_regionManager.Regions[RegionNames.ToolBarRegion].Add(typeof(SomeView));
...生活是美好的。
但是,只要我在 Shell 的 XAML 中添加另一个区域:
<ContentControl prism:RegionManager.RegionName="{x:Static core:RegionNames.WorkspaceRegion}"
DockPanel.Dock="Bottom"/>
然后做:
_regionManager.Regions[RegionNames.WorkspaceRegion].Add(typeof(SomeOtherView));
...我收到错误消息:“区域管理器不包含 ToolBarRegion 区域。”
什么给了?一旦我注释掉第二个区域,它就会找到第一个,当我添加第二个区域时它就会爆炸,就好像 RegionManager 拒绝保存区域集合一样。应该说这是我第一次涉足温莎城堡和棱镜,所以我在这里遗漏了一些令人痛苦的明显东西并不是不可能的。任何可能对此有所了解的信息都会非常有帮助。
【问题讨论】:
标签: c# wpf prism castle-windsor