我有一个设置了 MaxWidth 的 WPF 窗口,所以当我点击最大化按钮时,它会垂直最大化,但不会水平最大化。这是预期的行为。但是,窗口始终停靠在屏幕的左侧(Windows 7,如果这很重要),我希望它在最大化时水平居中。我尝试添加以下StateChanged
事件处理程序,但它似乎没有做任何事情:
private void wdw_mainWindow_StateChanged(object sender, EventArgs e)
{
switch (WindowState)
{
case WindowState.Maximized:
var windowWidth = (double)GetValue(WidthProperty);
Left = (SystemParameters.PrimaryScreenWidth / 2) - (windowWidth / 2);
break;
}
}
我在语句上设置了一个断点,switch
当我在我的应用程序中点击最大化按钮时,这段代码肯定会被命中。但是,即使在Left
设置后,窗口仍然牢固地粘在屏幕的左侧。这是怎么回事?