TouchDown事件被延迟

时间:2012-10-11 11:07:17

标签: c# .net wpf windows-7 touch

我的应用程序在各个地方使用UiElement.TouchDown事件,其中一个是让用户停止旋转轮。在这种情况下,人们可以很容易地发现实际触摸屏幕和TouchDown事件之间的短暂延迟约为1/3。

我已将Stylus.IsPressAndHoldEnabled设为false。

为了解决这个问题,我编写了一个报告WPF事件和本机窗口消息的测试工具,我注意到一旦触摸屏幕,就会生成id为0x02CC,0x011B和0x011A的消息, TouchDown事件前100到300毫秒。这让我相信司机会快速报告触摸,延迟会在WPF翻译的后期引入。

有没有办法让触控互动更具响应性?请询问您需要的任何信息!

1 个答案:

答案 0 :(得分:1)

除非需要轻弹,否则在XAML中设置或手动设置后面的代码:(我假设您的意思是说IsPressAndHoldEnabled不是IsTouchAndHoldEnabled)

Stylus.IsPressAndHoldEnabled="False" Stylus.IsFlicksEnabled="False" 

此外,请考虑处理TouchDown事件并将其捕获到相关的UIElement(不要忘记在TouchUp中发布它)。

uielement.CaptureTouch(e.TouchDevice);
e.Handled = true;