浏览代码

fix carousel-presenter when items are removed.

Dan Walmsley 7 年之前
父节点
当前提交
b651cd3a1b
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      src/Avalonia.Controls/Presenters/CarouselPresenter.cs

+ 7 - 2
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
             }
         }
     }
-}
+}