2015-11-05 80 views
0
加載

我在我的殼四(4)的區域:棱鏡+ WPF:嵌套區域不受RegionManager

  1. RibbonViewRegion:爲了注射接片

  2. RibbonTabRegion:爲了注射的對照

  3. RibbonGroupRegion:爲了注射一個控制(按鈕,組合框,...)

  4. ContentRegion:主要內容區域

    <telerik:RadRibbonView prism:RegionManager.RegionName="{x:Static inf:RegionNames.RibbonViewRegion}" ApplicationName="Demo"> <telerik:RadRibbonTab Header="Principal" prism:RegionManager.RegionName="{x:Static inf:RegionNames.RibbonTabRegion}"> <telerik:RadRibbonGroup Header="Navigation" prism:RegionManager.RegionName="{x:Static inf:RegionNames.RibbonGroupRegion}"/> </telerik:RadRibbonTab> </telerik:RadRibbonView> <ContentControl Grid.Row="2" prism:RegionManager.RegionName="{x:Static inf:RegionNames.MainContentRegion}"/>

在模塊初始化方法中,當我注入我的觀點是這樣的:

RegionManager.Regions[RegionNames.RibbonGroupRegion].Add(Container.Resolve<MyView>()); 

發生異常:

的類型爲「System.Collections.Generic.KeyNot」的異常FoundException'發生在Prism.Wpf.dll中,但未在用戶代碼中處理 附加信息: 區域管理器不包含RibbonGroupRegion區域。

有效:當我在這一行設置一個斷點,我注意到有隻有三個負荷的區域 - RibbonViewRegionRibbonTabRegionContentRegion

我的問題是:爲什麼我的RibbonGroupRegion不受RegionManager裝?

note:我實施了RadRibbonGroupRegionAdapter,它工作正常。

指導我,在此先感謝。

回答

0

我解決它,我更換了這段代碼:

RegionManager.Regions[RegionNames.RibbonGroupRegion].Add(Container.Resolve<MyView>()); 

本:

RegionManager.RegisterViewWithRegion(RegionNames.RibbonGroupRegion,() => Container.Resolve<MyView>()); 

和它的作品