Im przy użyciu Przeglądarka przewijania WPF do obsługi niektórych formantów. Naprawdę chciałbym, żeby to było tak jak na urządzeniu dotykowym, które powoli przesuwa się z powrotem na miejsce, gdy pociągnie się za daleko.Czy istnieje prosty sposób, aby zrobić ScrollViewer "skoczny"?
Nie ma pasek przewijania - Mam instrukcja myszki przewijanie kliknięcie i przeciągnięcie za pomocą tego kodu:
Point currentPoint = e.GetPosition(this);
// Determine the new amount to scroll.
Point delta = new Point(scrollStartPoint.X - currentPoint.X, scrollStartPoint.Y - currentPoint.Y);
if (Math.Abs(delta.X) < PixelsToMoveToBeConsideredScroll &&
Math.Abs(delta.Y) < PixelsToMoveToBeConsideredScroll)
return;
scrollTarget.X = scrollStartOffset.X + delta.X;
scrollTarget.Y = scrollStartOffset.Y + delta.Y;
// Scroll to the new position.
sv.ScrollToHorizontalOffset(scrollTarget.X);
sv.ScrollToVerticalOffset(scrollTarget.Y);
Czy istnieje prosty sposób to zrobić? Obecnie działa on jak zwykły przewijany tekst i nie wyjdzie poza swój normalny zasięg, ani nie cofnie się.
Zobacz http://aniscrollviewer.codeplex.com/ - Nie sprawdziłem kodu, ale stwierdza on, że rozszerzył standardowy "ScrollViewer", aby zaktualizować pozycję z aktualizacji animacji. – ChrisF
Dzięki @ChrisF, ale ten przykład jest tylko płynnym przewijaniem i nie daje żadnej interakcji typu "dotknij przeciągnij" ani płynnie odbija się w normalnych granicach: | – kvanberendonck
Ah - czy nie możesz użyć innej funkcji rozluźniania? – ChrisF