#109 – Navigating the Logical Tree in Code
October 29, 2010 2 Comments
You can use the LogicalTreeHelper.GetChildren method to traverse a logical tree and enumerate all of the objects in the tree.
Every element in a logical tree is a DependencyObject, so you pass a top-level object that derives from DependencyObject into the GetChildren method. The method returns a collection of children of that object.
// Enumerate each immediate child of main window. (Does NOT descend down tree) foreach (Object obj in LogicalTreeHelper.GetChildren(mainWindow as DependencyObject)) Debug.WriteLine(obj.ToString());
You could extend this example and descend down the logical tree by calling GetChildren on the children returned from the first call.