Центрирование окна

На кнопку задал изменение размера окна, т.е. возврат к дефолтным размерам. Необходимо помимо возврата дефолтных значений окна ещё и разместить окно по центру. this.Horizontal и VerticalAligment'ы по центру не помогли.

private void MaximizeWindow_Click(object sender, RoutedEventArgs e)
            {
                if (this.Width != 1900 || this.Height != 1000)
                {
                    this.Width = 1900;
                    this.Height = 1000;
                }
                else if (this.WindowState == WindowState.Maximized)
                {
                    this.WindowState = WindowState.Normal;
                }
            }

Ответы (1 шт):

Автор решения: Kekisto
private void CenterWindowOnScreen()
{
    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 монитор, или если все ваши мониторы имеют одинаковый размер. Источник - https://stackoverflow.com/a/4022379

→ Ссылка