我正在编写触摸屏应用程序。标准的ManipulationDelta只有3个像素,这意味着,如果我尝试在列表框上向左或向右滑动,则大多数情况下,列表框会开始向上或向下滚动。
在另一篇文章中,我读到您需要创建一个自定义列表框,该列表框继承自列表框,并覆盖OnManipulationDelta。
所以我正是这样做的:
Protected Overrides Sub OnManipulationDelta(e As ManipulationDeltaEventArgs)
'Console.WriteLine("Detected" & e.CumulativeManipulation.Translation.Length)
If (Math.Abs(e.CumulativeManipulation.Translation.Y) > 35) Then
OnManipulationDelta(e)
Else
e.Handled = True
End If
End Sub
问题在于,只有在列表框上ScrollViewer.PanningMode =“ None”时才会触发OnManipulationDelta事件。
但这反过来意味着列表框不再向上或向下滚动。
如何设置更多可用的增量,同时仍然让列表框向上或向下滚动?