쉘에 중첩 된 영역이있는 메뉴 (Telerik RadMenu)가 있습니다. 내 모듈에서 모듈 메뉴 또는 도구 모음 항목을이 영역으로 등록합니다. 모든 것이 루트 영역에서 제대로 작동하지만 메뉴의 파일 영역과 같은 자식 영역에 무언가를 추가하려고하면 "예외 메시지는 예외입니다 : 영역 관리자에 FileMenuRegion 영역이 없습니다."라는 오류 메시지가 나타납니다.MVVM 프리즘 중첩 된 영역에서 하위 영역을 찾을 수 없음
그러나 나는이
regionManager.Regions[RegionNames.MainMenuRegion].Add(menuItem);
모든이 코드
regionManager.Regions[RegionNames.FileMenuRegion].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
지역은 레이아웃 구성 단위입니다. 중첩의 과정은 대체 할 수있는 영역 내의 대체 가능한 영역을 실제로 원한다는 것을 의미합니다. 해결책은 평소와 같이 최상위 레벨 영역에 뷰를 등록하는 것이며, 각 뷰에는 다른 영역 정의가 포함됩니다. 사용자 컨트롤에는 지역이있을 수 있으며, 종종 알려지지 않은 출처에서 제공 한 상태 정보를 간단하게 삽입 할 수 있습니다. –
내 대답을 찾았습니다. [여기] (http://compositewpf.codeplex.com/discussions/249769#post726075)에 게시되었습니다. – Shimmy