防止在子视图上滑动(轻弹)父视图时单击事件.WinPhone8.1



我有一个画布,里面有一个列表框。listbox的每个子元素都为Click事件设置事件处理程序。在画布上,我为设置了事件处理程序

ManipulationStarted="canvas_ManipulationStarted"       
ManipulationDelta="canvas_ManipulationDelta"
ManipulationCompleted="canvas_ManipulationCompleted"

我的刷码非常有效。有一件事,它在ManipulationCompleted事件处理程序之前触发Click事件处理程序。

但例如,列表框在同一时间完美滚动,不会触发Click事件。

所以基本上,我需要的是以列表框的方式处理操作事件

如果此条件成立:

private void canvas_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{ 
     e.DeltaManipulation.Translation.X > [some value]
     ....
}

我需要在画布的任何子元素上禁用激发Click事件,不管它是否在列表框中。

如果不想触发点击处理程序,为什么要设置它们?

点击会在按下指针时触发,所以无法判断用户是想点击还是开始操作。如果你想区分"点击"和滑动,你需要根据点击的位置或稍后的事件来决定。

您可以处理Tap手势和操纵事件,而不是Click。由于点击在释放的指针上触发,如果用户在一个位置点击并释放,操作系统将触发它,如果用户按下并移动指针,它将触发操作。

有关详细信息,请参阅如何处理Windows Phone 8的操作事件。

相关内容

  • 没有找到相关文章

最新更新