diff --git a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs index 2e668fda95..2c5e36d30a 100644 --- a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs +++ b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs @@ -244,7 +244,10 @@ namespace Avalonia.Controls.Primitives { if (_selectedItems == null) { - _selectedItems = new AvaloniaList(); + _selectedItems = new AvaloniaList + { + ResetBehavior = ResetBehavior.Remove + }; SubscribeToSelectedItems(); } @@ -260,7 +263,10 @@ namespace Avalonia.Controls.Primitives } UnsubscribeFromSelectedItems(); - _selectedItems = value ?? new AvaloniaList(); + _selectedItems = value ?? new AvaloniaList + { + ResetBehavior = ResetBehavior.Remove + }; SubscribeToSelectedItems(); } } @@ -764,12 +770,10 @@ namespace Avalonia.Controls.Primitives SelectedIndex = -1; } } - else + + foreach (var item in e.OldItems) { - foreach (var item in e.OldItems) - { - MarkItemSelected(item, false); - } + MarkItemSelected(item, false); } removed = e.OldItems;