Вопрос

У меня есть WPF Scrollviewer, который я использую для панорамирования (Mousedown, Mousemove, Mouseup), и я хотел бы включить эффект ускорения, который включает инерцию. Таким образом, если мышь выходит за пределы пороговой скорости, и я освобождаю мышь, она продолжает паном, но замедляется в зависимости от начальной скорости. Есть идеи, мысли или примеры?

Это было полезно?

Решение

Я делал в основном это раньше и начал с просмотра Scrollviewer, но в конце Deepzoom Без масштабированных изображений для масштабирования, так как было пикселирование, когда он был увеличен вправо). Я написал код для определения направления жеста и скорости жеста из событий мыши и преобразовал его в направление и скорость прокрутки, а затем анимировал свойства Canvas.left и Canvas.top окрутилого контента (который был в коллекции детей холста ребенка с двойной атмосферой. Это сработало хорошо, однако может быть лучший способ ...Вот и Поток, предлагающий хостинг DeepZoom в WPF через управление рамой (хотя я бы не сделал это так).

РЕДАКТИРОВАТЬ: в основном Scrollviewer был слишком ограничивающимся. Даже если вы попадете в ControlTemplate и получите ссылки на полосы прокрутки напрямую, то это положение большого пальца этих полос прокрутки, которые вам нужно анимировать, и я уверен, что это то, что я нашел (это было (это было Почти 3 года назад :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top