2016-07-22 47 views
7

Mam aplikacji WPF, który został zaprojektowany do wykorzystania na ekranie dotykowym.jednym dotknięciem odczytywać jako Scroll Action

używam widoku listy z zestawu obrazów, ze wybrany obraz ukazujący w pełnym rozmiarze kontrolą obrazu

Gdy na ekranie dotykowym można wybrać obrazy po prostu przez dotknięcie obrazu na pozycji widoku listy jednak mam mały problem.

Gdy użytkownik dotyka ekranu, często lekko przesuwa palec użytkowników jednocześnie nadal w kontakcie z ekranu, co prowadzi do widoku listy tłumaczenia dotyk jako żądanie przewijania.

Oznacza to, że pożądany wybór tylko faktycznie się dzieje, gdy użytkownik jest ostrożny albo zdarza się nie mieć ruch podczas gdy w kontakcie z ekranu.

Zakładam, że jest to problem z progu, przy którym to determinuje działanie przewijania jest wniosek, ale nie mogę znaleźć żadnego rozwiązania tego problemu.

Czy ktoś może pomóc?

Odpowiedz

2

Można ręcznie przełączać PanningMode dla ListView na internal Scrollviewer ListView. Oto jak uzyskać 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; 

Teraz można uzyskać dostęp do ScrollViewer PanningMode nieruchomości.

by ustawić tylko panningmode do VerticalFirst gdy palec został przeniesiony konkretny próg Twojego gustu przy użyciu zdarzenie ManipulationDelta i ustawić go do None ponownie gdy palec zostanie zwolniony (ManipulationCompleted wydarzenie podniesiony).