我正在开发一个可以浏览多个窗口的UWP应用程序,如Microsoft Edge或Sticky Notes。
我通过调用Window.Current.Close()
成功关闭子窗口,但无法关闭主窗口或子窗口的基本窗口。
Exception thrown: 'System.Runtime.InteropServices.COMException' in MyApp.exe
WinRT information: Closing main window is not allowed.
另一方面,无论顺序如何,我们都可以运行Microsoft Edge窗口并关闭它们。
有没有办法关闭主窗口或更改windows的父子关系?
答案 0 :(得分:1)
在主窗口中执行ApplicationView.GetForCurrentView().TryConsolidateAsync()
以将其正确关闭,就像您通过单击标题栏中的“关闭”按钮将其关闭一样。如果您的应用程序每个实例只有一个窗口,则您最好使用Application.Exit()
,因为此方法会挂起应用程序,而Application.Exit()
则会突然关闭应用程序。同样,通过这种方法关闭应用程序也会记住您应用程序的先前位置和大小,与Application.Exit()
不同。