Browse Source

Fix scroll to selected item logic.

- Use `TreeContainerFromItem` when trying to find the container for the selected item, it can be anywhere in the tree
- Only scroll to `SelectedItem`, not another item in `SelectedItems`
pull/11629/head
Steven Kirk 3 years ago
parent
commit
994fb351d6
  1. 8
      src/Avalonia.Controls/TreeView.cs

8
src/Avalonia.Controls/TreeView.cs

@ -358,9 +358,13 @@ namespace Avalonia.Controls
SelectedItemsAdded(e.NewItems!.Cast<object>().ToArray());
if (AutoScrollToSelectedItem)
var selectedItem = SelectedItem;
if (AutoScrollToSelectedItem &&
selectedItem is not null &&
e.NewItems![0] == selectedItem)
{
var container = ContainerFromItem(e.NewItems![0]!);
var container = TreeContainerFromItem(selectedItem);
container?.BringIntoView();
}

Loading…
Cancel
Save