Метод WinRT PointerRoutedEventArgs.GetCurrentPoint создает исключение ArgumentException.

Я разрабатываю мультисенсорное приложение WinRT на C# для Windows 8.1 и тестирую его на Surface Pro 2. Я подключился к событию PointerMoved в MainPage. На полученный PointerRoutedEventsArg вызываю GetCurrentPoint и указываю MainPage в качестве параметра. Для большинства баллов это работает, для некоторых я получаю ArgumentException.

Exception:Thrown: "Wrong parameter". 
Failed to get pointer information.
WinRT information: Failed to get pointer information.

Что означает эта ошибка в контексте GetCurrentPoint? Почему для одних точек работает, а для других нет? Наконец, что делать, чтобы решить эту проблему?


person user2988628    schedule 13.11.2013    source источник


Ответы (1)


Я совершил ошибку, сохранив объект PointerRoutedEventArgs в своем приложении. Очевидно, эти объекты повторно используются WinRT, поэтому всякий раз, когда объект повторно использовался до вызова GetCurrentPoint, я сталкивался с исключением. Решение состояло в том, чтобы немедленно вызвать GetCurrentPoint, когда объект PointerRoutedEventArg стал доступен, и вместо этого сохранить полученные данные Point.

person user2988628    schedule 30.08.2014