2016-07-22 50 views
7

我有一個WPF應用程序,它被設計用於觸摸屏。單觸讀取滾動動作

我使用的列表視圖與一組圖像,以在全尺寸圖像控制

所選擇的圖像顯示在觸摸屏上的我可以簡單地通過但在列表視圖項觸摸圖像選擇圖像我有一個小問題。

當用戶觸摸屏幕時,用戶手指通常會略微移動,同時仍然與屏幕接觸,導致列表視圖將觸摸解釋爲滾動請求。

這意味着只有當用戶在與屏幕接觸時小心或碰巧沒有移動時纔會發生所需的選擇。

我認爲這是一個問題,它確定了滾動動作被請求的閾值,但我無法找到任何解決此問題的方法。

誰能幫助?

回答

2

您可以手動切換PanningMode以獲取ListView的internal 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財產。

您將在panningmode僅設置爲VerticalFirst,一旦手指移動使用ManipulationDelta事件你的口味的特定閾值,並且將它設置爲None時再釋放手指(ManipulationCompleted引發的事件)。