c#uwp指针位置

use*_*349 2 c# mouse position uwp

在UWP中,我试图获取指针的位置。

我已经设法通过下一个事件做到这一点:

    private void Grid_PointerMoved(object sender, PointerRoutedEventArgs e)
    {
        PointerPoint point = e.GetCurrentPoint(mainGrid);
        var x = point.Position.X;
        var y = point.Position.Y;
    }
Run Code Online (Sandbox Code Playgroud)

这样,它会一直被发射。因此,我需要一些财产才能获得该职位。我发现了这一点:

var pointerPosition = Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerPosition;
Run Code Online (Sandbox Code Playgroud)

但是它并不总是返回正确的位置。

还有其他属性可以获取当前鼠标位置吗?

Jus*_* XL 9

var pointerPosition = Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerPosition;
Run Code Online (Sandbox Code Playgroud)

pointerPosition 为您提供客户端坐标,即屏幕的光标位置X和Y,而不是相对于您的应用窗口。

因此,您只需Window.Current.Bounds要先使用即可找到您应用窗口的坐标,然后-

var x = pointerPosition.X - Window.Current.Bounds.X;
var y = pointerPosition.Y - Window.Current.Bounds.Y;
Run Code Online (Sandbox Code Playgroud)