diff --git a/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml b/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml index 73fb39bcc5..9ab956a269 100644 --- a/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml +++ b/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml @@ -7,7 +7,7 @@ xmlns:Controls="clr-namespace:Microsoft.Toolkit.Wpf.UI.Controls;assembly=Microsoft.Toolkit.Wpf.UI.Controls" xmlns:xaml="clr-namespace:Microsoft.Toolkit.Wpf.UI.XamlHost;assembly=Microsoft.Toolkit.Wpf.UI.XamlHost" mc:Ignorable="d" - Title="PowerToys Settings" Height="800" Width="1000"> + Title="PowerToys Settings" Height="800" Width="1000" Closing="MainWindow_Closing"> diff --git a/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml.cs b/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml.cs index 48f455c228..ab6628d978 100644 --- a/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml.cs +++ b/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml.cs @@ -15,6 +15,8 @@ namespace Microsoft.PowerToys.Settings.UI.Runner // Interaction logic for MainWindow.xaml. public partial class MainWindow : Window { + private bool isOpen = true; + public MainWindow() { var bootTime = new System.Diagnostics.Stopwatch(); @@ -52,6 +54,17 @@ namespace Microsoft.PowerToys.Settings.UI.Runner shellPage.SetIsUserAnAdmin(Program.IsUserAnAdmin); shellPage.Refresh(); } - } + + // If the window is open, explicity force it to be shown to solve the blank dialog issue https://github.com/microsoft/PowerToys/issues/3384 + if (isOpen) + { + Show(); + } + } + + private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + isOpen = false; + } } }