如何使Window.Current在关闭后可见?

时间:2015-11-13 09:58:41

标签: c# .net windows-runtime windows-store-apps win-universal-app

我有一个打开新窗口的应用程序。如果原始窗口关闭然后用户启动应用程序(例如从开始菜单) - TryShowAsStandaloneAsync无法打开新窗口(为什么?)。所以我想“复活”原来的那个。但是,虽然我使用Window.Current.Activate();frame.Navigate(...); - Window.Current.Visible始终是false(并且窗口不再显示)。

那么我怎样才能“复活”一个封闭的窗口? (或者从关闭的窗口中使用TryShowAsStandaloneAsync。)

1 个答案:

答案 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