private void NavigationViewControl_DisplayModeChanged(NavigationView sender, NavigationViewDisplayModeChangedEventArgs args) { var currMargin = AppTitleBar.Margin; if (sender.DisplayMode == NavigationViewDisplayMode.Minimal) { AppTitleBar.Margin = new Thickness(sender.CompactPaneLength * 2, currMargin.Top, currMargin.Right, currMargin.Bottom); } else { AppTitleBar.Margin = new Thickness(sender.CompactPaneLength, currMargin.Top, currMargin.Right, currMargin.Bottom); } }
private void NavView_DisplayModeChanged(NavigationView sender, NavigationViewDisplayModeChangedEventArgs args) { switch (args.DisplayMode) { case NavigationViewDisplayMode.Minimal: DisplayModeTextBox.Text = "Minimal"; DisplayModeTextBox.Foreground = new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Colors.DodgerBlue); break; case NavigationViewDisplayMode.Compact: DisplayModeTextBox.Text = "Compact"; DisplayModeTextBox.Foreground = new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Colors.DarkMagenta); break; case NavigationViewDisplayMode.Expanded: DisplayModeTextBox.Text = "Expanded"; DisplayModeTextBox.Foreground = new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Colors.DarkRed); break; } }
// Update the TitleBar content layout depending on NavigationView DisplayMode private void NavigationViewControl_DisplayModeChanged(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewDisplayModeChangedEventArgs args) { const int topIndent = 16; const int expandedIndent = 48; int minimalIndent = 104; // If the back button is not visible, reduce the TitleBar content indent. if (NavigationViewControl.IsBackButtonVisible.Equals(Microsoft.UI.Xaml.Controls.NavigationViewBackButtonVisible.Collapsed)) { minimalIndent = 48; } Thickness currMargin = AppTitleBar.Margin; // Set the TitleBar margin dependent on NavigationView display mode if (sender.PaneDisplayMode == Microsoft.UI.Xaml.Controls.NavigationViewPaneDisplayMode.Top) { AppTitleBar.Margin = new Thickness(topIndent, currMargin.Top, currMargin.Right, currMargin.Bottom); } else if (sender.DisplayMode == Microsoft.UI.Xaml.Controls.NavigationViewDisplayMode.Minimal) { AppTitleBar.Margin = new Thickness(minimalIndent, currMargin.Top, currMargin.Right, currMargin.Bottom); } else { AppTitleBar.Margin = new Thickness(expandedIndent, currMargin.Top, currMargin.Right, currMargin.Bottom); } }
/// <summary> /// Occurs when the display mode changes on the navigation view /// </summary> /// <param name="sender">The sender</param> /// <param name="args">The arguments</param> private void NavigationViewControl_DisplayModeChanged(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewDisplayModeChangedEventArgs args) { const int TopIndent = 16; const int ExpandedIndent = 48; var minimalIndent = 104; if (NavigationViewControl.IsBackButtonVisible.Equals(Microsoft.UI.Xaml.Controls.NavigationViewBackButtonVisible.Collapsed)) { minimalIndent = 48; } var currMargin = AppTitleBar.Margin; if (sender.PaneDisplayMode == Microsoft.UI.Xaml.Controls.NavigationViewPaneDisplayMode.Top) { AppTitleBar.Margin = new Thickness(TopIndent, currMargin.Top, currMargin.Right, currMargin.Bottom); } else if (sender.DisplayMode == Microsoft.UI.Xaml.Controls.NavigationViewDisplayMode.Minimal) { AppTitleBar.Margin = new Thickness(minimalIndent, currMargin.Top, currMargin.Right, currMargin.Bottom); } else { AppTitleBar.Margin = new Thickness(ExpandedIndent, currMargin.Top, currMargin.Right, currMargin.Bottom); } }