Merge pull request #3088 from Jack251970/dev2

Fix possible content frame navigation issue in welcome window & setting window
This commit is contained in:
Jeremy Wu 2024-11-25 21:18:56 +11:00 committed by GitHub
commit db5b773bb0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 31 additions and 4 deletions

View file

@ -171,6 +171,7 @@
IsPaneToggleButtonVisible="False"
IsSettingsVisible="False"
IsTabStop="False"
Loaded="NavView_Loaded"
OpenPaneLength="240"
PaneDisplayMode="Left"
SelectionChanged="NavigationView_SelectionChanged">

View file

@ -29,7 +29,6 @@ public partial class SettingWindow
_api = api;
InitializePosition();
InitializeComponent();
NavView.SelectedItem = NavView.MenuItems[0]; /* Set First Page */
}
private void OnLoaded(object sender, RoutedEventArgs e)
@ -169,7 +168,11 @@ public partial class SettingWindow
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 @@ public partial class SettingWindow
}
}
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);
}

View file

@ -82,6 +82,7 @@
<ui:Frame
x:Name="ContentFrame"
HorizontalAlignment="Stretch"
Loaded="ContentFrame_Loaded"
ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Visible">

View file

@ -17,7 +17,6 @@ namespace Flow.Launcher
InitializeComponent();
BackButton.IsEnabled = false;
this.settings = settings;
ContentFrame.Navigate(PageTypeSelector(1), settings);
}
private NavigationTransitionInfo _transitionInfo = new SlideNavigationTransitionInfo()
@ -102,9 +101,15 @@ namespace Flow.Launcher
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 */
}
}
}
}