WPF 在屏幕缩放比不是100%的情况下取窗口的Left和Top,取出来是缩放完之后的,不是以像素为单位的

电脑屏幕缩放比125%,用this.Left和this.Top取出的值是缩放完之后的。因为需要和鼠标的位置作对比,鼠标的位置是以像素为单位的,所以 怎么取窗口的实际的Left和Top(以像素为单位)。小白一枚,能给代码最好,给不了代码给个思路也可以,谢谢。

找到了,取窗口的DPI,用的时候乘DPI/96就是像素了

using System.Drawing;
Graphics graphics = Graphics.FromHwnd(IntPtr.Zero);
float DIP = graphics.DpiX;

你可以试一下把电脑屏幕的缩放比例自定义设置150%试一下