From c00d8eb4ce58013367ce121d8db0a5527aea3c4a Mon Sep 17 00:00:00 2001 From: punker76 Date: Thu, 1 Jul 2021 13:17:18 +0200 Subject: [PATCH] (#4067) Fix wrong stored window placement (position) if Taskbar is on top or left --- src/MahApps.Metro/Behaviors/WindowsSettingBehavior.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/MahApps.Metro/Behaviors/WindowsSettingBehavior.cs b/src/MahApps.Metro/Behaviors/WindowsSettingBehavior.cs index c9bf1edb1a..1ec56d771e 100644 --- a/src/MahApps.Metro/Behaviors/WindowsSettingBehavior.cs +++ b/src/MahApps.Metro/Behaviors/WindowsSettingBehavior.cs @@ -185,6 +185,13 @@ private void SaveWindowState() RECT rect; if (UnsafeNativeMethods.GetWindowRect(hwnd, out rect)) { + var monitor = NativeMethods.MonitorFromWindow(hwnd, MonitorOptions.MONITOR_DEFAULTTONEAREST); + if (monitor != IntPtr.Zero) + { + var monitorInfo = NativeMethods.GetMonitorInfo(monitor); + rect.Offset(monitorInfo.rcMonitor.Left - monitorInfo.rcWork.Left, monitorInfo.rcMonitor.Top - monitorInfo.rcWork.Top); + } + wp.normalPosition = rect; } }