如何检测触摸事件是否仍然是" down"在WPF中使用多点触控?

时间:2015-01-28 16:26:22

标签: c# wpf events touch multi-touch

假设我有一个WPF格式的TouchUp和TouchDown事件处理程序。

this.TouchDown += window_TouchDown;
this.TouchUp += window_TouchUp;

如果我在两个不同的地方按下两根手指,每个手指都会触发TouchDown事件。然后,如果我按顺序抬起手指,每个人都会触发一个单独的TouchUp事件。

麻烦的是,在那个中间状态,当我从平板电脑上抬起一根手指但仍然按下一个时,我已经解雇了一个TouchUp事件,但它不是最终 TouchUp事件将触发,因为一根手指仍然“向下”。

我想要做的是捕获“最后”的TouchUp事件,即当用户完全停止触摸平板电脑时。我意识到我可以尝试与某种私人int成员一起计算一次有多少次触摸,但这对我来说似乎很烦人。我希望窗口上有一些(布尔?)属性来确定是否有任何东西触及它。有这样的财产吗?我如何完成我想要做的事情?

1 个答案:

答案 0 :(得分:0)

你看过Manipulation events了吗?

此图显示操纵事件与Touch事件的关系: enter image description here

根据MSDN文档......

“当元素上的最后一个触摸设备引发TouchUp事件时,操作逻辑会生成ManipulationInertiaStarting事件。”