只有先手动调整大小后,窗口最大化才会起作用

时间:2019-11-09 09:12:50

标签: c# wpf

我尝试通过单击按钮最大化/还原窗口。如果我启动应用程序并单击最大化按钮,则窗口将移至其所在显示器的顶部/左侧,但不会调整为全宽/全高。如果我还原窗口,然后通过拖动边框手动调整其大小,然后再次单击最大化按钮,则它将正确最大化。手动调整大小会在实现最大化工作的幕后做什么?

我试图强制调整大小以在最大化之前设置窗口的宽度/高度,甚至用新的大小调用Measure但无济于事。

Window在XAML中具有以下属性(在将调整大小模式设置为CanResize的情况下也会出现此问题):

SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterScreen"
WindowStyle="None"
ResizeMode="CanResizeWithGrip"

要最大化/还原的代码很简单(其中Window是Window对象):

   if(Window.WindowState == WindowState.Maximized)
      Window.WindowState = WindowState.Normal;
   else
      Window.WindowState = WindowState.Maximized;

预期的行为是,无论用户是否首先手动调整其大小,该窗口都能正确最大化。

0 个答案:

没有答案