Browse Source

Search logical tree for root TreeView.

Steven Kirk 10 years ago
parent
commit
8fe84fa1dc

+ 4 - 5
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/>

+ 4 - 4
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);