private void MenuBarPanelViewToggled(object sender, RoutedEventArgs e) { var viewPanel = (MenuItem)sender; string widthResourceKey; string minWidthResourceKey; int panelColumnIndex; GridSplitter columnsGridSplitter; if (viewPanel.Header.ToString().ToLower().Contains("instance")) { widthResourceKey = "LeftPanelWidth"; minWidthResourceKey = "LeftPanelMinWidth"; panelColumnIndex = 0; columnsGridSplitter = InstanceTabsGridSplitter; } else { widthResourceKey = "RightPanelWidth"; minWidthResourceKey = "RightPanelMinWidth"; panelColumnIndex = 4; columnsGridSplitter = TabsResultsGridSplitter; } if (viewPanel.IsChecked) { var width = ((GridLength)MainViewGrid.FindResource(widthResourceKey)).Value; var minWidth = (double)MainViewGrid.FindResource(minWidthResourceKey); MainViewGrid.ColumnDefinitions[panelColumnIndex].Width = new GridLength(width); MainViewGrid.ColumnDefinitions[panelColumnIndex].MinWidth = minWidth; columnsGridSplitter.Visibility = Visibility.Visible; } else { MainViewGrid.ColumnDefinitions[panelColumnIndex].MinWidth = 0; MainViewGrid.ColumnDefinitions[panelColumnIndex].Width = new GridLength(0); columnsGridSplitter.Visibility = Visibility.Collapsed; } }
public MainView() { InitializeComponent(); DataContext = _viewmodel; Loaded += (sender, args) => { if (_viewmodel.SettingsTabViewModel.ShowWelcomeTabOnStart) { _viewmodel.ShowTab(_viewmodel.WelcomeTabViewModel); } }; _menuItemBottomMargin = (Thickness)ShowMenu.FindResource("MenuItemBottomMargin"); _viewmodel.PartialUtilityTabViewModels.CollectionChanged += PartialUtilityTabsCollectionChanged; var tabViewSource = CollectionViewSource.GetDefaultView(TabControl.Items); tabViewSource.CollectionChanged += (sender, args) => { if (args.Action == NotifyCollectionChangedAction.Add) { TabControl.SelectedIndex = _viewmodel.Tabs.Count - 1; } }; _viewmodel.PropertyChanged += (s, e) => { if (e.PropertyName == nameof(_viewmodel.TabToSelect)) { if (TabControl.SelectedItem == _viewmodel.TabToSelect) { BringCurrentTabIntoView(); } else { TabControl.SelectedItem = _viewmodel.TabToSelect; } } else if (e.PropertyName == nameof(_viewmodel.CoefficientAssessmentTabViewModel)) { CoefficientAssessmentTabPropertyChanged(); } }; _viewmodel.Results.PropertyChanged += (s, e) => { if (e.PropertyName != nameof(_viewmodel.Results.K)) { return; } if (_viewmodel.Results.K.HasValue) { var width = ((GridLength)MainViewGrid.FindResource("RightPanelWidth")).Value; var minWidth = (double)MainViewGrid.FindResource("RightPanelMinWidth"); MainViewGrid.ColumnDefinitions[4].Width = new GridLength(width); MainViewGrid.ColumnDefinitions[4].MinWidth = minWidth; TabsResultsGridSplitter.Visibility = Visibility.Visible; ResultsPanelMenuItem.IsChecked = true; } else { MainViewGrid.ColumnDefinitions[4].MinWidth = 0; MainViewGrid.ColumnDefinitions[4].Width = new GridLength(0); TabsResultsGridSplitter.Visibility = Visibility.Collapsed; ResultsPanelMenuItem.IsChecked = false; } }; }