我尝试通过单击按钮最大化/还原窗口。如果我启动应用程序并单击最大化按钮,则窗口将移至其所在显示器的顶部/左侧,但不会调整为全宽/全高。如果我还原窗口,然后通过拖动边框手动调整其大小,然后再次单击最大化按钮,则它将正确最大化。手动调整大小会在实现最大化工作的幕后做什么?
我试图强制调整大小以在最大化之前设置窗口的宽度/高度,甚至用新的大小调用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;
预期的行为是,无论用户是否首先手动调整其大小,该窗口都能正确最大化。