单触读取滚动操作

时间:2016-07-22 13:46:17

标签: c# wpf visual-studio-2015 touch

我有一个WPF应用程序,旨在用于触摸屏。

我使用带有一组图像的列表视图,所选图像出现在全尺寸图像控件中

在触摸屏上,我可以通过触摸列表视图项上的图像来选择图像,但是我有一个小问题。

当用户触摸屏幕时,用户手指通常会在仍与屏幕接触时略微移动,从而导致列表视图将触摸解释为滚动请求。

这意味着所需的选择仅在用户小心或在与屏幕接触时没有移动时实际发生。

我认为这是一个问题,它确定了请求滚动操作的阈值,但我找不到解决此问题的任何方法。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您可以手动切换ListView PanningModeinternal Scrollviewer。以下是如何获取scrollviewer:

// Get the border of the listview (first child of a listview)
Decorator border = VisualTreeHelper.GetChild(myListView, 0) as Decorator;

// Get scrollviewer
ScrollViewer scrollViewer = border.Child as ScrollViewer;

现在您可以访问scrollviewer PanningMode属性。

一旦手指使用ManipulationDelta事件移动了特定的品味阈值,您只能将平移模式设置为VerticalFirst,并且当手指移动时再次将其设置为None发布(ManipulationCompleted事件发生)。