我正在玩一个简单的WPF应用程序。其中一部分包括一个包含多个控件的网格。使用LayoutTransform和RotateTransform旋转网格。我需要相对于网格的左上角点击鼠标点的坐标,并考虑轮换。
要清楚,假设我在网格中有一个绘图表面,并且没有应用任何变换。然后我点击位置X = 20,Y = 10并在该点处在绘图表面上放置一个点。如果网格现在旋转了30度并且我点击了点(它也被旋转移动),则点击位置仍应为X = 20,Y = 10.
答案 0 :(得分:5)
MouseEventArgs有一个采用UIElement的GetPosition方法。它返回鼠标事件相对于指定元素的位置。因此,如果要将鼠标单击转换为网格坐标,请将该网格传递给GetPosition方法。