单击恢复按钮时如何使窗口显示在中央屏幕上? - WPF

时间:2015-01-28 12:38:05

标签: c# wpf xaml

我正在WPF中开发一个小型Windows应用程序

我的应用程序主窗口状态设置为最大化。

当用户点击恢复按钮时,窗口正在随机位置加载。 如何在单击恢复按钮时在中心屏幕上加载窗口?

[编辑] [求助]

 private void Window_StateChanged(object sender, EventArgs e)
    {
        if (this.WindowState == WindowState.Normal)
        {
            double screenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
            double screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
            double windowWidth = this.Width;
            double windowHeight = this.Height;
            this.Left = (screenWidth / 2) - (windowWidth / 2);
            this.Top = (screenHeight / 2) - (windowHeight / 2);
        }
    }

1 个答案:

答案 0 :(得分:1)

应该不这样做。使用可以拖动窗口并调整窗口大小,您应该通过将窗口恢复到以前的位置来尊重它。

可以以这种方式做到这一点。

将处理程序注册到Window.StateChanged,如果当前状态为“正常”,则在该处理程序中设置窗口位置。

void Window1_StateChanged(object sender, EventArgs e)
{
    if (this.WindowState == WindowState.Normal)
       //set window location center to screen
}