Home > Net >  MAUI CarouselView: how to imitate swipe effect in code? Swipe animation does not happen
MAUI CarouselView: how to imitate swipe effect in code? Swipe animation does not happen

Time:10-15

.NET Maui CarouselView. In certain situations I want my app to take the user to the next card automatically. If I update CarouselView.Position or CarouselView.CurrentItem in code behind, it "jumps" to the next card immediately, no animation. Is it possible to imitate user's swipe? Or as a workaround, maybe somehow apply non-native-CarouselView animation manually to the CarouselView. Please advise.

CodePudding user response:

The CarouselView contains a ScrollTo method that will animate the scroll for you. You either scroll to an index or a specific item.

Give your CarouselView a name in the XAML, and then in the code behind call the ScrollTo.

To scroll to an index:

carouselView.ScrollTo(6);

To scroll to a specific item:

var viewModel = BindingContext as MyViewModel;
var item = viewModel.Items.FirstOrDefault(m => m.Name == "TheBest");
carouselView.ScrollTo(item);

These methods have to be called from the code behind, so if you're using a MVVM approach, you'll need to fire an event or command from your VM for your code behind to act on.

For additional info, take a look at the ScrollTo method docs from Microsoft.

  • Related