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) { if (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) { if (ItemsView == null) { return; } var position = DetermineTargetPosition(args); if (args.IsAnimated) { ScrollHelper.AnimateScrollToPosition(position, args.ScrollToPosition); } else { ScrollHelper.JumpScrollToPosition(position, args.ScrollToPosition); } }