如何将鼠标坐标转换为正确的窗口坐标?

时间:2016-10-24 11:19:21

标签: wpf mouse-position

在.Net中,Window的Left和Top属性是“与桌面相关的”:

  

获取或设置窗口左边缘相对于桌面的位置。

Mouse.GetPosition根据您传入的元素返回鼠标坐标:

  

获取鼠标相对于指定元素的位置。

...并且PointToScreen转换为“视觉的当前坐标系”。

  

将屏幕坐标中的Point转换为表示Visual的当前坐标系的Point。

现在,我正试图让一个窗口跟随鼠标,但它无法正常工作。当我执行PointToScreen(Mouse.GetPosition(this))时,我无法将窗口的Left和Right属性设置为我得到的值,因为它不正确:当鼠标位于(0,0)时,窗口确实设置为(0,0)。但是在屏幕的最后(1920年,1080年),我完全得到了一些东西:大约1500(700)。

我该如何解决这个问题?

0 个答案:

没有答案