我的应用程序有一个主窗口和辅助窗口。
在某些情况下,我想在用户启动应用时只显示辅助窗口。
问题在于应用程序的主窗口是自动启动的,因此我在编程后打开辅助窗口后,我将同时保留主窗口和辅助窗口。
有什么办法可以隐藏主窗口吗? (即,模仿用户按下"关闭按钮"在主窗口的右上角?)
答案 0 :(得分:2)
创建辅助视图后,我切换到这个新视图,指定fromViewId
作为主视图ID,并使用ApplicationViewSwitchingOptions.ConsolidateViews
选项隐藏它:
// Create seprate secondary window
await ApplicationViewSwitcher.TryShowAsStandaloneAsync(secondaryWindowViewId);
// Switch to secondary window just created, which hides the main view
await ApplicationViewSwitcher.SwitchAsync(
secondaryWindowViewId,
mainWindowViewId,
ApplicationViewSwitchingOptions.ConsolidateViews);
不是最优雅的解决方案,但它可行:)欢迎更优雅的解决方案!
答案 1 :(得分:1)
为什么关闭/隐藏主窗口?您可以在主窗口中显示辅助窗口的内容(在应用程序启动时创建),如果用户想要显示主窗口,则可以在辅助窗口中显示其内容。
答案 2 :(得分:0)
在主窗口中执行ApplicationView.GetForCurrentView().TryConsolidateAsync()
以将其正确关闭,就像您通过单击标题栏中的“关闭”按钮将其关闭一样。与Application.Exit()
相比,此方法更可取,因为此方法会挂起应用程序,而Application.Exit()
会突然关闭应用程序。同样,通过这种方法关闭应用程序也会记住您应用程序的先前位置和大小,与Application.Exit()
不同。