我有一个打开新窗口的应用程序。如果原始窗口关闭然后用户启动应用程序(例如从开始菜单) - TryShowAsStandaloneAsync
无法打开新窗口(为什么?)。所以我想“复活”原来的那个。但是,虽然我使用Window.Current.Activate();
和frame.Navigate(...);
- Window.Current.Visible
始终是false
(并且窗口不再显示)。
那么我怎样才能“复活”一个封闭的窗口? (或者从关闭的窗口中使用TryShowAsStandaloneAsync
。)
答案 0 :(得分:1)
我认为TryShowAsStandaloneAsync
尝试使用主视图作为锚视图(即,相对于新窗口放置的窗口)。
关闭主窗口TryShowAsStandaloneAsync
失败,因为它没有锚视图。
解决方法是通过TryShowAsStandaloneAsync的重载指定打开的视图的anchorViewId
(在关闭主窗口之前打开的新窗口之一):
await ApplicationViewSwitcher.TryShowAsStandaloneAsync(
viewIdToShow, // Id of a new view, or of your hidden main view
ViewSizePreference.Default,
anchorViewId, // Id of one of your visible windows
ViewSizePreference.Default);
来自this answer。