diff --git a/src/Avalonia.Controls/Presenters/CarouselPresenter.cs b/src/Avalonia.Controls/Presenters/CarouselPresenter.cs index 1d5a187a73..f0f86b7fb4 100644 --- a/src/Avalonia.Controls/Presenters/CarouselPresenter.cs +++ b/src/Avalonia.Controls/Presenters/CarouselPresenter.cs @@ -115,6 +115,11 @@ namespace Avalonia.Controls.Presenters var containers = generator.RemoveRange(e.OldStartingIndex, e.OldItems.Count); Panel.Children.RemoveAll(containers.Select(x => x.ContainerControl)); + if(SelectedIndex > containers.Count()) + { + SelectedIndex = containers.Count(); + } + #pragma warning disable 4014 MoveToPage(-1, SelectedIndex); #pragma warning restore 4014 @@ -130,7 +135,7 @@ namespace Avalonia.Controls.Presenters #pragma warning disable 4014 var newIndex = SelectedIndex; - + if(SelectedIndex < 0) { if(Items != null && Items.Count() > 0) @@ -251,4 +256,4 @@ namespace Avalonia.Controls.Presenters } } } -} \ No newline at end of file +}