gpt4 book ai didi

c# - 滑动(轻弹)父 View 时防止在 subview 上单击事件。 WinPhone8.1

转载 作者:太空宇宙 更新时间:2023-11-03 15:43:52 25 4
gpt4 key购买 nike

我有一个带有列表框的 Canvas 。列表框的每个子元素都为 Click 事件设置事件处理程序。在 Canvas 上,我为

设置了事件处理程序
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]
....
}

我需要在 Canvas 的任何子元素上禁用触发 Click 事件,无论它是否在列表框中。

最佳答案

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

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

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

参见 How to handle manipulation events for Windows Phone 8了解更多详情。

关于c# - 滑动(轻弹)父 View 时防止在 subview 上单击事件。 WinPhone8.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29104848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com