public NavigationRootPage() { this.InitializeComponent(); // Workaround for VisualState issue that should be fixed // by https://github.com/microsoft/microsoft-ui-xaml/pull/2271 NavigationViewControl.PaneDisplayMode = muxc.NavigationViewPaneDisplayMode.Left; _navHelper = new RootFrameNavigationHelper(rootFrame, NavigationViewControl); SetDeviceFamily(); AddNavigationMenuItems(); Current = this; RootFrame = rootFrame; this.GotFocus += (object sender, RoutedEventArgs e) => { // helpful for debugging focus problems w/ keyboard & gamepad if (FocusManager.GetFocusedElement() is FrameworkElement focus) { Debug.WriteLine("got focus: " + focus.Name + " (" + focus.GetType().ToString() + ")"); } }; Gamepad.GamepadAdded += OnGamepadAdded; Gamepad.GamepadRemoved += OnGamepadRemoved; Window.Current.SetTitleBar(AppTitleBar); CoreApplication.GetCurrentView().TitleBar.LayoutMetricsChanged += (s, e) => UpdateAppTitle(s); _isKeyboardConnected = Convert.ToBoolean(new KeyboardCapabilities().KeyboardPresent); // remove the solid-colored backgrounds behind the caption controls and system back button // This is done when the app is loaded since before that the actual theme that is used is not "determined" yet Loaded += delegate(object sender, RoutedEventArgs e) { ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar; titleBar.ButtonBackgroundColor = Colors.Transparent; titleBar.ButtonInactiveBackgroundColor = Colors.Transparent; }; NavigationViewControl.RegisterPropertyChangedCallback(muxc.NavigationView.PaneDisplayModeProperty, new DependencyPropertyChangedCallback(OnPaneDisplayModeChanged)); }
public NavigationRootPage() { this.InitializeComponent(); _navHelper = new RootFrameNavigationHelper(rootFrame, NavigationViewControl); SetDeviceFamily(); AddNavigationMenuItems(); Current = this; RootFrame = rootFrame; this.GotFocus += (object sender, RoutedEventArgs e) => { // helpful for debugging focus problems w/ keyboard & gamepad if (FocusManager.GetFocusedElement() is FrameworkElement focus) { Debug.WriteLine("got focus: " + focus.Name + " (" + focus.GetType().ToString() + ")"); } }; this.Loaded += (s, e) => { // This is to work around a bug in the NavigationView header that hard-codes the header content to a 48 pixel height. var headerContentControl = NavigationViewControl.GetDescendantsOfType <ContentControl>().Where(c => c.Name == "HeaderContent").FirstOrDefault(); if (headerContentControl != null) { headerContentControl.Height = double.NaN; } }; Gamepad.GamepadAdded += OnGamepadAdded; Gamepad.GamepadRemoved += OnGamepadRemoved; Window.Current.CoreWindow.SizeChanged += (s, e) => UpdateAppTitle(); CoreApplication.GetCurrentView().TitleBar.LayoutMetricsChanged += (s, e) => UpdateAppTitle(); _isKeyboardConnected = Convert.ToBoolean(new KeyboardCapabilities().KeyboardPresent); }