protected override void ScrollTo(ScrollToRequestEventArgs args) { var position = DetermineTargetPosition(args); if (_carouselViewLoopManager == null) { return; } //Special case here //We could have a race condition where we are scrolling our collection to center the first item //And at the same time the user is requesting we go to a particular item if (position == -1 && Carousel.Loop) { _carouselViewLoopManager.AddPendingScrollTo(args); return; } if (args.IsAnimated) { ScrollHelper.AnimateScrollToPosition(position, args.ScrollToPosition); } else { ScrollHelper.JumpScrollToPosition(position, args.ScrollToPosition); } }
protected virtual void ScrollTo(ScrollToRequestEventArgs args) { var position = DetermineTargetPosition(args); if (args.IsAnimated) { ScrollHelper.AnimateScrollToPosition(position, args.ScrollToPosition); } else { ScrollHelper.JumpScrollToPosition(position, args.ScrollToPosition); } }