Provides static helper methods for querying objects in the logical tree.
Assembly: PresentationFramework (in PresentationFramework.dll)
Thetype exposes the following members.
|BringIntoView||Attempts to bring the requested UI element into view and raises the FrameworkElement.RequestBringIntoView event on the target in order to report the results.|
|FindLogicalNode||Attempts to find and return an object that has the specified name. The search starts from the specified object and continues into subnodes of the logical tree.|
|GetChildren(DependencyObject)||Returns the collection of immediate child objects of the specified object, by processing the logical tree.|
|GetChildren(FrameworkContentElement)||Returns the collection of immediate child objects of the specified FrameworkContentElement by processing the logical tree.|
|GetChildren(FrameworkElement)||Returns the collection of immediate child objects of the specified FrameworkElement by processing the logical tree.|
|GetParent||Returns the parent object of the specified object by processing the logical tree.|
The class provides methods that you can use to return child collections of objects, or specific objects from within subnodes of the logical tree. However, most of the object tree operations that you typically perform are also exposed by similar methods or properties on FrameworkElement or FrameworkContentElement. For example, try the following:
Instead of calling the static GetChildren method, which returns an enumerator for the logical child objects, use the dedicated collection exposed in the content model for that object. Nearly all objects that support a content model expose some property that contains the collection of child objects, and provides collection interface support directly on that collection.
Instead of calling the static FindLogicalNode method to obtain a child object by specifying its name, call the FrameworkElement.FindName or FrameworkContentElement.FindName method on specific objects.
is most useful for analysis scenarios where you are traveling up or down the logical tree recursively through multiple levels, and want to use a consistent approach for examining the various parent or child objects. In this case, you might be accessing a mixture of content models, and using the more content-model specific APIs would be too complex.