检查UWP中的窗口是否已最小化

时间:2019-12-06 09:46:35

标签: c# windows uwp

我正在为Windows 10开发一个UWP应用程序。我想在用户减小窗口大小时显示一个消息对话框。到目前为止,我已经尝试使用this link来实现该功能。我的目的在这里实现了,只是当用户最小化窗口或更改窗口大小时出现消息对话框。我还附上了以下代码片段。谢谢。

private async void CoreWindow_SizeChanged(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.WindowSizeChangedEventArgs args)
        {
            var appView = ApplicationView.GetForCurrentView();
            MessageDialog messageDialog = new MessageDialog("");
            if (!appView.IsFullScreen)
            {
                if (!msgboxshown)
                {
                    messageDialog = new MessageDialog("To run the application smoothly, please maximize the window.");
                    msgboxshown = true;
                    await messageDialog.ShowAsync();
                    msgboxshown = false;
                }
            }
            args.Handled = true;
        }

1 个答案:

答案 0 :(得分:0)

  

我的目的是在这里实现,只是当用户最小化窗口或更改其大小时出现消息对话框。

当应用最小化时,它将调用EnteredBackground事件,您可以检测到它并显示消息对话框。

 public App()
 {
     this.InitializeComponent();
     this.Suspending += OnSuspending;
     this.EnteredBackground += App_EnteredBackground;
 }

 private async void App_EnteredBackground(object sender, EnteredBackgroundEventArgs e)
 {
    var messageDialog = new MessageDialog("To run the application smoothly, please maximize the window.");

     await messageDialog.ShowAsync();
 }

更新

正如@Raymond Chen所说的,它看起来是os bug。因此,请谨慎使用上述方法。