2
我有一个菜单(Telerik RadMenu),它具有在Shell中定义的嵌套区域。在我的模块中,我将使用这些区域注册模块菜单或工具栏项目。一切工作正常的根区域,但当我尝试并添加一些子区域,如菜单上的文件区域,我收到错误“异常消息是:区域管理器不包含FileMenuRegion区域。MVVM Prism嵌套区域找不到子区域
但是就像我说的,如果我这个代码
regionManager.Regions[RegionNames.FileMenuRegion].Add(menuItem);
改变这种
regionManager.Regions[RegionNames.MainMenuRegion].Add(menuItem);
一切工作正常。以下是我的菜单中的XAML,以便您可以查看区域名称以及它们的构建方式。任何帮助将不胜感激,因为这是令人困惑,让我疯狂。
菜单
<telerikNavigation:RadMenu x:Name="menuMain" DockPanel.Dock="Top" prismrgn:RegionManager.RegionName="{x:Static i:RegionNames.MainMenuRegion}" telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.CurrentTheme}">
<telerikNavigation:RadMenuItem Header="{x:Static p:Resources.File}" prismrgn:RegionManager.RegionName="{x:Static i:RegionNames.FileMenuRegion}">
<telerikNavigation:RadMenuItem Header="{x:Static p:Resources.Exit}" Command="{Binding ExitCommand}">
<telerikNavigation:RadMenuItem.Icon>
<Image Source="../Resources/Close.png" Stretch="None" />
</telerikNavigation:RadMenuItem.Icon>
</telerikNavigation:RadMenuItem>
</telerikNavigation:RadMenuItem>
</telerikNavigation:RadMenu>
所以有嵌套区域的方式吗?请查看[this](http://compositewpf.codeplex.com/discussions/249769#post725985)评论以了解我的确切问题 - 请注意,这是该主题中的第3篇文章。谢谢! – Shimmy 2012-01-16 21:09:24
区域只是布局构建块。嵌套过程意味着您实际上需要更换可更换区域内的可更换区域。解决方案将像往常一样在顶级区域注册视图,每个视图都包含其他区域定义。用户控件可以有区域,通常只需插入未知来源提供的状态信息。 – 2012-01-17 11:21:38
我找到了我的答案。张贴[这里](http://compositewpf.codeplex.com/discussions/249769#post726075)。 – Shimmy 2012-01-17 13:49:56