Browse Source

Search logical tree for root TreeView.

pull/386/head
Steven Kirk 11 years ago
parent
commit
8fe84fa1dc
  1. 9
      src/Perspex.Controls/TreeViewItem.cs
  2. 8
      tests/Perspex.Controls.UnitTests/TreeViewTests.cs

9
src/Perspex.Controls/TreeViewItem.cs

@ -7,8 +7,7 @@ using Perspex.Controls.Mixins;
using Perspex.Controls.Primitives;
using Perspex.Controls.Templates;
using Perspex.Input;
using Perspex.Rendering;
using Perspex.VisualTree;
using Perspex.LogicalTree;
namespace Perspex.Controls
{
@ -83,10 +82,10 @@ namespace Perspex.Controls
}
/// <inheritdoc/>
protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e)
{
base.OnAttachedToVisualTree(e);
_treeView = this.GetVisualAncestors().OfType<TreeView>().FirstOrDefault();
base.OnAttachedToLogicalTree(e);
_treeView = this.GetLogicalAncestors().OfType<TreeView>().FirstOrDefault();
}
/// <inheritdoc/>

8
tests/Perspex.Controls.UnitTests/TreeViewTests.cs

@ -59,10 +59,10 @@ namespace Perspex.Controls.UnitTests
DataTemplates = CreateNodeDataTemplate(),
};
// For TreeViewItem to find its parent TreeView, OnAttachedToVisualTree needs
// to be called, which requires an IRenderRoot.
var visualRoot = new TestRoot();
visualRoot.Child = target;
// For TreeViewItem to find its parent TreeView, OnAttachedToLogicalTree needs
// to be called, which requires an IStyleRoot.
var root = new TestRoot();
root.Child = target;
ApplyTemplates(target);

Loading…
Cancel
Save