检查窗口是否在 UWP 中最小化



我正在为Windows 10开发UWP应用程序。我想在用户减小窗口大小时显示一个消息对话框。截至目前,我已尝试使用此链接实现该功能。我的目的在这里得到了实现,除了当用户最小化窗口或更改其大小时会出现消息对话框。我还附上了下面的代码片段。谢谢。

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;
}

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

当应用程序最小化时,它将调用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所说,它看起来很不对劲。因此,请谨慎使用上述方法。

最新更新