Browse Source

support member selector when recycling Dropdown/listboxitems

Andrey Kunchev 7 years ago
parent
commit
daadd9c674
1 changed files with 6 additions and 3 deletions
  1. 6 3
      src/Avalonia.Controls/Primitives/SelectingItemsControl.cs

+ 6 - 3
src/Avalonia.Controls/Primitives/SelectingItemsControl.cs

@@ -431,9 +431,12 @@ namespace Avalonia.Controls.Primitives
             {
                 if (i.ContainerControl != null && i.Item != null)
                 {
-                    MarkContainerSelected(
-                        i.ContainerControl,
-                        SelectedItems.Contains(i.Item));
+                    var ms = MemberSelector;
+                    bool selected = ms == null ? 
+                        SelectedItems.Contains(i.Item) : 
+                        SelectedItems.OfType<object>().Any(v => Equals(ms.Select(v), i.Item));
+
+                    MarkContainerSelected(i.ContainerControl, selected);
                 }
             }
         }