Browse Source

fix carousel-presenter when items are removed.

pull/1763/head
Dan Walmsley 8 years ago
parent
commit
b651cd3a1b
  1. 9
      src/Avalonia.Controls/Presenters/CarouselPresenter.cs

9
src/Avalonia.Controls/Presenters/CarouselPresenter.cs

@ -115,6 +115,11 @@ namespace Avalonia.Controls.Presenters
var containers = generator.RemoveRange(e.OldStartingIndex, e.OldItems.Count); var containers = generator.RemoveRange(e.OldStartingIndex, e.OldItems.Count);
Panel.Children.RemoveAll(containers.Select(x => x.ContainerControl)); Panel.Children.RemoveAll(containers.Select(x => x.ContainerControl));
if(SelectedIndex > containers.Count())
{
SelectedIndex = containers.Count();
}
#pragma warning disable 4014 #pragma warning disable 4014
MoveToPage(-1, SelectedIndex); MoveToPage(-1, SelectedIndex);
#pragma warning restore 4014 #pragma warning restore 4014
@ -130,7 +135,7 @@ namespace Avalonia.Controls.Presenters
#pragma warning disable 4014 #pragma warning disable 4014
var newIndex = SelectedIndex; var newIndex = SelectedIndex;
if(SelectedIndex < 0) if(SelectedIndex < 0)
{ {
if(Items != null && Items.Count() > 0) if(Items != null && Items.Count() > 0)
@ -251,4 +256,4 @@ namespace Avalonia.Controls.Presenters
} }
} }
} }
} }

Loading…
Cancel
Save