两个事件变成一个动作

本文关键字:一个 事件 两个 | 更新日期: 2023-09-27 17:50:49

在我的Windows Phone应用程序中,我试图将两个事件合并为一个动作,并且需要一些帮助,请。

当你使用虚拟键盘时,如果你把手指放在"Q"键上,把手指拖到"W"键上,然后松开,你就得到了"W"。这就是我想要复制的。

DragCompleted事件为我提供了"Q"作为OriginalSource和手指移动的X/y距离。这样我就可以计算出哪个按钮完成了拖动。但我更喜欢不计算的方法来防止舍入错误。

我发现在这种情况下,"W"键的MouseLeave事件正在触发。因此,我认为我只需要将DragCompleted事件与MouseLeave事件结合起来,以确定手指抬起的键。问题:我不能确定(或者我不知道)哪个事件先发生。如果DragCompleted等待MouseLeave,如果MouseLeave先出现,它将失败。如果MouseLeave等待DragCompleted,如果DragCompleted先出现,它将失败。

谁有解决这个问题的主意?由于

两个事件变成一个动作

可以在事件触发时设置一个标志,如果另一个事件触发,检查是否设置了相应的标志。

但也许实际上有一个更简单的解决方案。为什么不考虑释放事件最初发生的键呢?

如果用户快速移动手指,例如:"QWERT...."和抬起手指,它会产生许多mouselleave事件。当使用标志时,它并不总是得到正确的键,我认为。我想我得用数学的方法。不管怎样,谢谢。