diff --git a/Flow.Launcher/SettingWindow.xaml b/Flow.Launcher/SettingWindow.xaml index f6381b46586..a81d9e0d108 100644 --- a/Flow.Launcher/SettingWindow.xaml +++ b/Flow.Launcher/SettingWindow.xaml @@ -171,6 +171,7 @@ IsPaneToggleButtonVisible="False" IsSettingsVisible="False" IsTabStop="False" + Loaded="NavView_Loaded" OpenPaneLength="240" PaneDisplayMode="Left" SelectionChanged="NavigationView_SelectionChanged"> diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs index 4cc125fa4af..cb3f1e4a113 100644 --- a/Flow.Launcher/SettingWindow.xaml.cs +++ b/Flow.Launcher/SettingWindow.xaml.cs @@ -29,7 +29,6 @@ public SettingWindow(IPublicAPI api, SettingWindowViewModel viewModel) _api = api; InitializePosition(); InitializeComponent(); - NavView.SelectedItem = NavView.MenuItems[0]; /* Set First Page */ } private void OnLoaded(object sender, RoutedEventArgs e) @@ -169,7 +168,11 @@ private void NavigationView_SelectionChanged(NavigationView sender, NavigationVi else { var selectedItem = (NavigationViewItem)args.SelectedItem; - if (selectedItem == null) return; + if (selectedItem == null) + { + NavView_Loaded(sender, null); /* Reset First Page */ + return; + } var pageType = selectedItem.Name switch { @@ -186,5 +189,22 @@ private void NavigationView_SelectionChanged(NavigationView sender, NavigationVi } } + private void NavView_Loaded(object sender, RoutedEventArgs e) + { + if (ContentFrame.IsLoaded) + { + ContentFrame_Loaded(sender, e); + } + else + { + ContentFrame.Loaded += ContentFrame_Loaded; + } + } + + private void ContentFrame_Loaded(object sender, RoutedEventArgs e) + { + NavView.SelectedItem ??= NavView.MenuItems[0]; /* Set First Page */ + } + public record PaneData(Settings Settings, Updater Updater, IPortable Portable); } diff --git a/Flow.Launcher/WelcomeWindow.xaml b/Flow.Launcher/WelcomeWindow.xaml index 003dac5bcd8..208fc807fd9 100644 --- a/Flow.Launcher/WelcomeWindow.xaml +++ b/Flow.Launcher/WelcomeWindow.xaml @@ -82,6 +82,7 @@ diff --git a/Flow.Launcher/WelcomeWindow.xaml.cs b/Flow.Launcher/WelcomeWindow.xaml.cs index eaa9938727d..c3723a8c529 100644 --- a/Flow.Launcher/WelcomeWindow.xaml.cs +++ b/Flow.Launcher/WelcomeWindow.xaml.cs @@ -17,7 +17,6 @@ public WelcomeWindow(Settings settings) InitializeComponent(); BackButton.IsEnabled = false; this.settings = settings; - ContentFrame.Navigate(PageTypeSelector(1), settings); } private NavigationTransitionInfo _transitionInfo = new SlideNavigationTransitionInfo() @@ -102,9 +101,15 @@ private static Type PageTypeSelector(int pageNumber) var tRequest = new TraversalRequest(FocusNavigationDirection.Next); textBox.MoveFocus(tRequest); } + private void OnActivated(object sender, EventArgs e) { Keyboard.ClearFocus(); } + + private void ContentFrame_Loaded(object sender, RoutedEventArgs e) + { + ContentFrame.Navigate(PageTypeSelector(1), settings); /* Set First Page */ + } } -} \ No newline at end of file +}