PointerCaptureLost С# UWP Windows 10

Я работаю над приложением UWP для Windows 10, используя С#. Для некоторых анимаций я полагался на события PointerPressed и PointerReleased. Надеясь, что они будут стрелять парами. И я был неправ. Посмотрите, что Microsoft говорит по этому поводу: https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.pointercapturelost

Теперь я использую PointerCaptureLost вместо PointerReleased, и он работает нормально. Единственная проблема заключается в том, что если я использую AddHandler для PointerCaptureLost, он показывает ошибку: «UIElement.PointerCaptureLost может отображаться только слева от += или -=". Он работает только при добавлении как +=.

Есть мысли, почему это так?


person Vikas Rayiparambil    schedule 05.05.2016    source источник


Ответы (1)


Вы должны использовать UIElement.PointerCaptureLostEvent с AddHandler, потому что это идентификатор маршрутизируемого события, который определяет событие. Напротив, x.PointerCaptureLost (где x — имя элемента управления) — это поле, представляющее сам обработчик событий.

У меня не было проблем с использованием x.AddHandler(UIElement.PointerCaptureLostEvent, ...) и x.PointerCaptureLost += ... в моем коде. Более того, как предполагает эта ссылка, они оба преобразуются в один и тот же вызов AddRoutedEventHandler.

person Dmitri Soshnikov    schedule 05.05.2016