/// <summary> /// Constructor /// </summary> /// <param name="regionManager"></param> public WindowNavigationService(IRegionManager regionManager) { this.regionManager = regionManager; this.NavigationParamsDictionary = new Dictionary <string, object>(); this.NavigationMode = NavigationWrapperType.Page; }
public void NavigateView(ViewMenuItemBase vmi) { try { if (vmi is ViewMenuItem) { if (this.NavigationMode == NavigationWrapperType.Docking) { //this.regionManager.Regions.Remove(RegionNames.MainViewContentRegion); this.regionManager.RequestNavigate(RegionNames.MainViewContentRegion, typeof(Views.NavigationManagerView).FullName); this.NavigationMode = NavigationWrapperType.Page; this.regionManager.Regions[RegionNames.MainDockingRegion].NavigationService.NavigationFailed -= NavigationService_NavigationFailed; } this.regionManager.RequestNavigate(RegionNames.NavigationContentRegion, vmi.ViewName); } else if (vmi is DockableViewMenuItem) { if (this.NavigationMode == NavigationWrapperType.Page) { this.regionManager.Regions[RegionNames.MainViewContentRegion].NavigationService.NavigationFailed += NavigationService_NavigationFailed1; //this.regionManager.Regions.Remove(RegionNames.MainViewContentRegion); this.regionManager.RequestNavigate(RegionNames.MainViewContentRegion, typeof(Views.MainDockingView).FullName); this.regionManager.Regions[RegionNames.MainViewContentRegion].NavigationService.NavigationFailed -= NavigationService_NavigationFailed1; this.NavigationMode = NavigationWrapperType.Docking; this.regionManager.Regions[RegionNames.MainDockingRegion].NavigationService.NavigationFailed += NavigationService_NavigationFailed; } this.NavigateToWindowDockPanel(vmi as DockableViewMenuItem); } } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message, "NavigateView"); } }