单触读取滚动操作

Ste*_*ood 8 c# wpf touch visual-studio-2015

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

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

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

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

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

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

有人可以帮忙吗?

Fat*_*mòn 3

您可以手动切换ListView内部 Scrollviewer的PanningMode。以下是获取滚动查看器的方法:

// 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;
Run Code Online (Sandbox Code Playgroud)

现在您可以访问scrollviewerPanningMode属性。

您只需使用ManipulationDeltaVerticalFirst事件将平移模式设置为手指移动到您的口味的特定阈值,并在释放手指(引发ManipulationCompleted事件)时再次将其设置为。None