2016-10-09 3 views
0

Ich habe ein wirklich seltsames Problem mit PRISM 6 und NavBarControl/NavBarGroup.PRISM fehlende Region für DevExpress NavBarGroup

Ich habe folgendes in meinem Shell.xaml

 <dxn:NavBarControl MaxWidth="250" DockPanel.Dock="Left"> 
      <dxn:NavBarControl.View> 
       <dxn:ExplorerBarView /> 
      </dxn:NavBarControl.View> 

      <dxn:NavBarGroup prism:RegionManager.RegionName="Business" Header="Business" /> 
      <dxn:NavBarGroup prism:RegionManager.RegionName="Reports" Header="Reports" /> 
      <dxn:NavBarGroup prism:RegionManager.RegionName="Administration" Header="Administration" /> 

     </dxn:NavBarControl> 

Ich erstelle eine benutzerdefinierte RegionAdapter für die NavBarGroup. Die Methode, die implementiert werden muss CreateRegion gibt eine neue AllActiveRegion() zurück. Diese Methode wird nur zweimal getroffen und gibt eine neue Region für Berichte und Verwaltung zurück. Die erste Region namens Business fehlt. Wenn ich am Anfang eine neue Gruppe hinzufüge, fehlt diese Region und die nächste wird hinzugefügt ...

Irgendwelche Ideen, was ich tun könnte?

Danke für die Hilfe ...

Antwort

0

Als NavBarGroup kein visuelles Element ist, das Problem kann im Zusammenhang mit den DelayedRegionCreationBehavior garbage collected in non-FrameworkElement regions issue in PRISM (es von der Framework Klasse geerbt wird). Sie können versuchen, PRISM-Klassen wie in diesem Bericht gezeigt zu ändern, oder Regionsnamen im Code zuweisen, wie wir dies in Prism-Region in Ribbon getan haben, nachdem Sie DockLayoutManager hinzugefügt haben.

Ich ging mit dem secont Ansatz der Regionen in Code hinter meiner Shell.xaml. Das hat gut geklappt und die Regionen werden richtig bevölkert.

Shell.xaml.cs (Ctor)

RegionManager.SetRegionName(business, "Business"); 
RegionManager.SetRegionName(reports, "Reports"); 
RegionManager.SetRegionName(administration, "Administration"); 
Verwandte Themen