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

那么如何才能“恢复”关闭的窗口? (或在关闭的窗口中使用TryShowAsStandaloneAsync。)

最佳答案

我认为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

10-01 17:53
查看更多