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?
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 -This works for me at my canvas:
Add PointerMoved event handlers through code
Remove PointerMoved event handlers in the event handler
Then Get the pointer data in PointerMoved event handlers
Here is the entire code
Learn more about Adding event handlers in code from here