单触阅读作为滚动操作

本文关键字:滚动 操作 单触阅 | 更新日期: 2023-09-27 17:58:17

我有一个WPF应用程序,设计用于触摸屏。

我使用一组图像的列表视图,所选图像显示在全尺寸图像控制中

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

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

这意味着,只有当用户在接触屏幕时很小心或碰巧没有移动时,才真正进行所需的选择。

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

有人能帮忙吗?

单触阅读作为滚动操作

您可以手动切换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;

现在,您可以访问滚动查看器PanningMode属性。

只有在手指使用ManipulationDelta事件移动了特定的味觉阈值后,才能将平移模式设置为VerticalFirst,并且在释放手指时(ManipulationCompleted事件引发)再次将其设置为None