В случае, если вам нужно нарисовать окно в многоэкранной среде.
Я создал статический класс, в котором можно повторно использовать следующий метод:
public static void PostitionWindowOnScreen(Window window, double horizontalShift = 0, double verticalShift = 0)
{
Screen screen = Screen.FromHandle(new System.Windows.Interop.WindowInteropHelper(window).Handle);
window.Left = screen.Bounds.X + ((screen.Bounds.Width - window.ActualWidth) / 2) + horizontalShift;
window.Top = screen.Bounds.Y + ((screen.Bounds.Height - window.ActualHeight) / 2) + verticalShift;
}
В конструкторе Window теперь просто вызовите метод:
this.Loaded += (s, a) => Globals.PostitionWindowOnScreen(this, 0, 0)