WinRT PointerRoutedEventArgs.GetCurrentPoint方法抛出ArgumentException

时间:2013-11-13 16:39:13

标签: c# windows-runtime touch windows-8.1

我在C#for Windows 8.1中开发了一个多点触控WinRT应用程序,并在Surface Pro 2上进行测试。 我迷上了MainPage的PointerMoved事件。在收到的PointerRoutedEventsArg上,我致电GetCurrentPoint并指定MainPage作为参数。对于大多数积分,这是有效的,对于一些我得到ArgumentException

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

此错误在GetCurrentPoint的上下文中意味着什么?为什么它适用于某些点,但不适用于其他点?最后,该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

我错误地将PointerRoutedEventArgs对象存储在我的应用程序中。显然这些对象是由WinRT重用的,所以每当一个对象在我调用GetCurrentPoint之前被重用时,我就遇到了异常。解决方案是在PointerRoutedEventArg对象可用时imediatly调用GetCurrentPoint并改为存储生成的Point数据