作者:秋梯田那路77 | 来源:互联网 | 2023-01-30 15:25
在UWP中,我试图获取指针的位置。
我已经设法通过下一个事件做到这一点:
private void Grid_PointerMoved(object sender, PointerRoutedEventArgs e)
{
PointerPoint point = e.GetCurrentPoint(mainGrid);
var x = point.Position.X;
var y = point.Position.Y;
}
这样,它会一直被发射。因此,我需要一些财产才能获得该职位。我发现了这一点:
var pointerPosition = Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerPosition;
但是它并不总是返回正确的位置。
还有其他属性可以获取当前鼠标位置吗?
1> Justin XL..:
var pointerPosition = Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerPosition;
pointerPosition
为您提供客户端坐标,即屏幕的光标位置X和Y,而不是相对于您的应用窗口。
因此,您只需Window.Current.Bounds
要先使用即可找到您应用窗口的坐标,然后-
var x = pointerPosition.X - Window.Current.Bounds.X;
var y = pointerPosition.Y - Window.Current.Bounds.Y;