diff --git a/Perspex.Controls/TreeView.cs b/Perspex.Controls/TreeView.cs index ca1123597c..8b070b20f8 100644 --- a/Perspex.Controls/TreeView.cs +++ b/Perspex.Controls/TreeView.cs @@ -48,27 +48,16 @@ namespace Perspex.Controls return new TreeItemContainerGenerator(this); } - protected override void OnPointerPressed(PointerPressEventArgs e) + protected override void OnGotFocus(GotFocusEventArgs e) { - IVisual source = (IVisual)e.Source; - var selectable = source.GetVisualAncestors() - .OfType() - .OfType() - .FirstOrDefault(); + var control = (IControl)e.Source; + var item = this.ItemContainerGenerator.ItemFromContainer(control); - if (selectable != null) + if (item != null) { - var item = this.ItemContainerGenerator.ItemFromContainer(selectable); - - if (item != null) - { - this.SelectedItem = item; - selectable.BringIntoView(); - FocusManager.Instance.Focus(selectable); - } + this.SelectedItem = item; + e.Handled = true; } - - e.Handled = true; } private void SelectedItemChanged(object selected)