UWP应用程序如何记住其窗口大小和位置?我正试图弄清楚如何让它以设定的大小显示在屏幕中央,但应用程序总是显示为最大化或最小化(在任务栏中)。
更重要的是,如果我的笔记本电脑连接到一个外部显示器,并与该显示器断开连接,那么运行应用程序时,应用程序窗口(主页)只显示为最小化(在任务栏中)。
点击它不会恢复它。我发现,它不知怎么认为我的笔记本电脑仍然连接到监视器上,可能认为它在那里显示它。
我甚至试着添加行来设置像一样的大小
public MainPage()
{
this.InitializeComponent();
ApplicationView.PreferredLaunchViewSize = new Windows.Foundation.Size(300, 400);
ApplicationView.PreferredLaunchWindowingMode =
ApplicationViewWindowingMode.PreferredLaunchViewSize;
...
}
如果我将鼠标悬停在任务栏中的UWP应用程序图标上,它会在弹出的小窗口中显示它,我可以右键单击它的工具栏并选择btw还原、最大化、移动、大小、最小化。不过,只有"最大化"才会在我的屏幕上显示它。这导致应用程序要么在我的屏幕上最大化,要么在任务栏中最小化,但我无法移动、调整大小或恢复它。
我找到的唯一解决方法是断开外部监视器的连接,运行应用程序。这样,它就会显示在我的笔记本电脑上,我可以将其调整为我喜欢的大小。然后,如果我最小化并恢复它,那就行了。现在,如果我再次连接外部监视器并运行它,该应用程序将在我的笔记本电脑屏幕上显示良好。
根据https://social.msdn.microsoft.com/Forums/en-US/c6445232-9219-4fd0-aba4-c285364d9620/uwp-app-cannot-be-resized-shows-only-as-maximized-or-as-minimized-in-taskbar?forum=wpdevelop,在MainPage c-tor中InitializeComponent调用后添加以下行为我解决了问题。
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.Auto;