如何获得鼠标单击已转换WPF控件时的坐标?

如何获得鼠标单击已转换WPF控件时的坐标?,wpf,Wpf,我正在玩一个简单的WPF应用程序。它的一部分包括一个包含多个控件的网格。使用LayoutTransform和RotateTransform旋转栅格。我需要得到鼠标点击相对于网格左上角的坐标,考虑到旋转 为了清楚起见,假设我在网格中有一个绘图曲面,并且没有应用任何变换。然后在X=20,Y=10的位置单击,并在该点的绘图表面上放置一个点。如果网格现在旋转了30度,并且我单击了该点(该点也被旋转移动),则单击位置仍应为X=20,Y=10。MouseEventArgs有一种采用UIElement的方法。

我正在玩一个简单的WPF应用程序。它的一部分包括一个包含多个控件的网格。使用LayoutTransform和RotateTransform旋转栅格。我需要得到鼠标点击相对于网格左上角的坐标,考虑到旋转


为了清楚起见,假设我在网格中有一个绘图曲面,并且没有应用任何变换。然后在X=20,Y=10的位置单击,并在该点的绘图表面上放置一个点。如果网格现在旋转了30度,并且我单击了该点(该点也被旋转移动),则单击位置仍应为X=20,Y=10。

MouseEventArgs有一种采用UIElement的方法。它返回鼠标事件相对于指定元素的位置。因此,如果要将鼠标单击转换为网格坐标,请将该网格传递给GetPosition方法。

Perfect!我实际上使用的是MouseDown,但是MouseButtonEventArgs也有这个方法。当然我以前试过,但我的大脑一定是自动驾驶的。非常感谢……也许我正在旋转网格中的某个东西,并检查网格。这将是愚蠢的事情。