Browse Source

Merge branch 'feature/selectionmodel' into feature/selectionmodel-changed-notifications

pull/3470/head
Steven Kirk 6 years ago
parent
commit
2bb23cedc9
  1. 1
      src/Avalonia.Controls/SelectionNode.cs
  2. 14
      tests/Avalonia.Controls.UnitTests/SelectionModelTests.cs

1
src/Avalonia.Controls/SelectionNode.cs

@ -661,6 +661,7 @@ namespace Avalonia.Controls
{
removed.AddRange(_childrenNodes[index]!.SelectedItems);
RealizedChildrenNodeCount--;
_childrenNodes[index]!.Dispose();
}
_childrenNodes.RemoveAt(index);
}

14
tests/Avalonia.Controls.UnitTests/SelectionModelTests.cs

@ -1404,6 +1404,20 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Removing_Item_Unhooks_CollectionChanged_Handlers()
{
var data = CreateNestedData(2, 2, 2);
var target = new SelectionModel { Source = data };
target.SelectAll();
var toRemove = (AvaloniaList<object>)data[1];
data.Remove(toRemove);
Assert.Equal(0, GetSubscriberCount(toRemove));
}
[Fact]
public void Should_Not_Treat_Strings_As_Nested_Selections()
{

Loading…
Cancel
Save