public void Refresh() { Tabs.Clear(); foreach (var tab in DesignerWindow.Designer.Tabs) { var tab1 = tab; var navigationItem = new NavigationItem() { Icon = "CommandIcon", SpecializedIcon = null, //State = DesignerWindow.Designer.CurrentTab.Graph == tab ? NavigationItemState.Current : NavigationItemState.Regular, Title = tab.Title + (tab.IsDirty ? "*" : string.Empty), NavigationAction = x => { InvertApplication.Execute(new LambdaCommand("Change Current Graph", () => { WorkspaceService.CurrentWorkspace.CurrentGraphId = tab1.Identifier; //DesignerWindow.SwitchDiagram(WorkspaceService.CurrentWorkspace.Graphs.FirstOrDefault(p => p.Identifier == tab.Identifier)); })); }, CloseAction = x => { InvertApplication.Execute(new LambdaCommand("Close Graph", () => { this.DiagramViewModel.CurrentRepository.RemoveAll <WorkspaceGraph>(p => p.GraphId == tab1.Identifier); })); } }; if (DesignerWindow.Workspace != null && DesignerWindow.Workspace.CurrentGraph != null && tab.Identifier == DesignerWindow.Workspace.CurrentGraph.Identifier) { navigationItem.State = NavigationItemState.Current; } else { navigationItem.State = NavigationItemState.Regular; } Tabs.Add(navigationItem); } Breadcrubs.Clear(); foreach (var filter in new[] { DiagramViewModel.GraphData.RootFilter }.Concat(this.DiagramViewModel.GraphData.GetFilterPath())) { var filter1 = filter; var navigationItem = new NavigationItem() { Icon = "CommandIcon", Title = filter.Name, State = DiagramViewModel.GraphData != null && DiagramViewModel.GraphData.CurrentFilter == filter ? NavigationItemState.Current : NavigationItemState.Regular, NavigationAction = x => { InvertApplication.Execute(new LambdaCommand("Back", () => { DiagramViewModel.GraphData.PopToFilter(filter1); })); } }; if (filter == DiagramViewModel.GraphData.RootFilter) { navigationItem.SpecializedIcon = "RootFilterIcon"; } Breadcrubs.Add(navigationItem); } }
public void Refresh() { Tabs.Clear(); foreach (var tab in DesignerWindow.Designer.Tabs) { var tab1 = tab; var navigationItem = new NavigationItem() { Icon = "CommandIcon", SpecializedIcon = null, //State = DesignerWindow.Designer.CurrentTab.Graph == tab ? NavigationItemState.Current : NavigationItemState.Regular, Title = tab.Title + (tab.IsDirty ? "*" : string.Empty), NavigationAction = x => { InvertApplication.Execute(new LambdaCommand("Change Current Graph", () => { WorkspaceService.CurrentWorkspace.CurrentGraphId = tab1.Identifier; //DesignerWindow.SwitchDiagram(WorkspaceService.CurrentWorkspace.Graphs.FirstOrDefault(p => p.Identifier == tab.Identifier)); })); }, CloseAction = x => { InvertApplication.Execute(new LambdaCommand("Close Graph", () => { this.DiagramViewModel.CurrentRepository.RemoveAll<WorkspaceGraph>(p => p.GraphId == tab1.Identifier); } )); } }; if (DesignerWindow.Workspace != null && DesignerWindow.Workspace.CurrentGraph != null && tab.Identifier == DesignerWindow.Workspace.CurrentGraph.Identifier) { navigationItem.State = NavigationItemState.Current; } else { navigationItem.State = NavigationItemState.Regular; } Tabs.Add(navigationItem); } Breadcrubs.Clear(); foreach (var filter in new[] { DiagramViewModel.GraphData.RootFilter }.Concat(this.DiagramViewModel.GraphData.GetFilterPath())) { var filter1 = filter; var navigationItem = new NavigationItem() { Icon = "CommandIcon", Title = filter.Name, State = DiagramViewModel.GraphData != null && DiagramViewModel.GraphData.CurrentFilter == filter ? NavigationItemState.Current : NavigationItemState.Regular, NavigationAction = x => { InvertApplication.Execute(new LambdaCommand("Back", () => { DiagramViewModel.GraphData.PopToFilter(filter1); })); } }; if (filter == DiagramViewModel.GraphData.RootFilter) navigationItem.SpecializedIcon = "RootFilterIcon"; Breadcrubs.Add(navigationItem); } }