In UWP I am trying to get position of pointer.
I have managed to do it with next Event:
private void Grid_PointerMoved(object sender, PointerRoutedEventArgs e)
{
PointerPoint point = e.GetCurrentPoint(mainGrid);
var x = point.Position.X;
var y = point.Position.Y;
}
And with this way it will be fired all the time. So, I needed some property to get that position. I have found this:
var pointerPosition = Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerPosition;
But it doesn't always return correct position.
Any other property to get current mouse location?
var pointerPosition = Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerPosition;
pointerPosition
gives you the client coordinates which are the cursor position X & Y of the screen, not relative to your app Window.
So you just need to use Window.Current.Bounds
to find the coordinates of your app Window first, and then -
var x = pointerPosition.X - Window.Current.Bounds.X;
var y = pointerPosition.Y - Window.Current.Bounds.Y;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With