如何将WPF MouseDevice.GetPosition(null)转换为屏幕坐标?

时间:2009-06-26 18:15:13

标签: c# wpf

如何将MouseDevice.GetPosition(null)返回的System.Windows.Point转换为屏幕坐标,这是相对于WPF窗口的。

有这个黑客( How to get control location in screen coordinate system ),但它已经差不多两年了,只能在某些限制条件下工作。正如那篇文章所描述的那样,要做到这一点并非易事,所以我希望尽可能依赖WPF方法。

我正在使用.NET Framework 4.0,因此我并不担心与早期.NET框架版本的向后兼容性。

1 个答案:

答案 0 :(得分:4)

你需要这个:

http://msdn.microsoft.com/en-us/library/system.windows.media.visual.pointtoscreen.aspx

如果你在一个控件上调用它并传递它(0,0),它会在屏幕坐标中给你控件的左上角。

或者你可以传递它(ActualWidth,ActualHeight),你会得到右下角。