2017-01-22 3 views
0

Есть ли способ захватить указатель в UWP, когда PointerPressed происходит на объекте Shape, который находится на холсте, но затем обрабатывает перемещение мыши независимо от формы?Захват указателя во всем окне

E. g. У меня есть класс, который содержит форму, которая добавляется в мой холст. Так что моя основная база события выглядит как это:

myShapeClass.PointerPressed += myShapeClass_PointerPressed; 
myShapeClass.PointerMoved += myShapeClass_PointerMoved; 
myShapeClass.PointerReleased += myShapeClass_PointerReleased; 

PointerMoved в основном просто делает некоторые преобразования в форму, но указатель должен всегда находиться в центре формы. Но когда я перемещаю указатель слишком быстро, форма не рисуется достаточно быстро, а указатель получает форму, поэтому событие больше не встречается.

Помимо холста на нем может быть много фигур, поэтому добавление обработчиков событий к каждому из них довольно хлопотно. Есть ли способ захватить указатель, а затем следовать ему независимо от того, где он находится на экране? И, конечно, вызывать PointerReleased или другое событие релиза вне моей формы?

ответ

1

Вы должны подписаться на эти события на Window.Current.CoreWindow, чтобы каждый раз их запускать.