From 0dddd8e317cdd4cbdecf365ece731b747393697b Mon Sep 17 00:00:00 2001 From: donandren Date: Tue, 2 Aug 2016 00:09:08 +0300 Subject: [PATCH] fix of issue #637 --- .../Generators/ItemContainerGenerator.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Controls/Generators/ItemContainerGenerator.cs b/src/Avalonia.Controls/Generators/ItemContainerGenerator.cs index 6f37039734..1738de39b2 100644 --- a/src/Avalonia.Controls/Generators/ItemContainerGenerator.cs +++ b/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) {