Browse Source

Raise item(s) property changed on Source changing.

Steven Kirk 5 years ago
parent
commit
aeaaccb7e0
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/Avalonia.Controls/Selection/SelectionModel.cs

+ 8 - 0
src/Avalonia.Controls/Selection/SelectionModel.cs

@@ -692,6 +692,10 @@ namespace Avalonia.Controls.Selection
                     {
                         indexesChanged = true;
                         RaisePropertyChanged(nameof(SelectedIndex));
+                    }
+
+                    if (oldSelectedIndex != _selectedIndex || operation.IsSourceUpdate)
+                    {
                         RaisePropertyChanged(nameof(SelectedItem));
                     }
 
@@ -704,6 +708,10 @@ namespace Avalonia.Controls.Selection
                     if (indexesChanged)
                     {
                         RaisePropertyChanged(nameof(SelectedIndexes));
+                    }
+
+                    if (indexesChanged || operation.IsSourceUpdate)
+                    {
                         RaisePropertyChanged(nameof(SelectedItems));
                     }
                 }