Browse Source

fix of issue #637

donandren 9 years ago
parent
commit
0dddd8e317
1 changed files with 5 additions and 3 deletions
  1. 5 3
      src/Avalonia.Controls/Generators/ItemContainerGenerator.cs

+ 5 - 3
src/Avalonia.Controls/Generators/ItemContainerGenerator.cs

@@ -86,13 +86,14 @@ namespace Avalonia.Controls.Generators
         {
             if (count > 0)
             {
-                var toMove = _containers.Where(x => x.Key >= index).ToList();
+                var toMove = _containers.Where(x => x.Key >= index)
+                                .OrderByDescending(x => x.Key).ToList();
 
                 foreach (var i in toMove)
                 {
                     _containers.Remove(i.Key);
                     i.Value.Index += count;
-                    _containers[i.Value.Index] = i.Value;
+                    _containers.Add(i.Value.Index, i.Value);
                 }
             }
         }
@@ -116,7 +117,8 @@ namespace Avalonia.Controls.Generators
                     _containers.Remove(i);
                 }
 
-                var toMove = _containers.Where(x => x.Key >= startingIndex).ToList();
+                var toMove = _containers.Where(x => x.Key >= startingIndex)
+                                        .OrderBy(x => x.Key).ToList();
 
                 foreach (var i in toMove)
                 {