Панорамирование WPF ScrollViewer

У меня есть объект ScrollViewer в моем окне, который я хочу включить для сенсорного управления. Я установил его PanningMode на HorizontalOnly, и он работает хорошо, но есть две вещи, которые мне нужно задать:

1) Когда ScrollViewer достигает конца своего содержимого, все окно перемещается при касании и смахивании объекта.

2) Мне нужно запустить событие, когда прокрутка закончится, чтобы я мог обновить некоторые элементы пользовательского интерфейса. Что это за событие?

Спасибо за вашу помощь.


person David Weng    schedule 03.06.2011    source источник


Ответы (2)


1) Отскок — это поведение по умолчанию в Windows 7 Touch, указывающее, что достигнут конец прокручиваемого списка.

2) Вы можете прикрепить слушателя к событию ScrollChanged. http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.scrollchanged.aspx

Чтобы проверить «прокрутить вниз», сравните VerticalOffset (текущая позиция Y) == ScrollableHeight (абсолютный максимум)

person LongZheng    schedule 03.06.2011

Такая настройка ScrollViewer в ListView решила проблему (вопрос № 1) перемещения окна после выхода за границы для меня (на случай, если кто-то найдет это полезным):

<ListView x:Name="myScrollView" ScrollViewer.PanningMode="None"
ScrollViewer.VerticalScrollBarVisibility="Auto" 
ScrollViewer.HorizontalScrollBarVisibility="Hidden" 
ScrollViewer.CanContentScroll="True" ... >
person Exel Gamboa    schedule 05.04.2018