DependencyObjectExtensions
The DependencyObjectExtensions
type provides a collection of extensions methods for DependencyObject
objects. This class exposes several APIs to aid in using the VisualTreeHelper
class. There are a number of reasons why walking the visual tree might be useful, which are mentioned in the docs.
Syntax
// Include the namespace to access extensions
using Microsoft.Toolkit.Uwp.UI;
// Find a visual descendant control using its name
var control = uiElement.FindDescendant("MyTextBox");
// Find the first visual descendant control of a specified type
control = uiElement.FindDescendant<ListView>();
// Find all visual descendant controls of the specified type.
// We use LINQ here to filter children of a specific type.
using System.Linq;
foreach (var child in uiElement.FindDescendants().OfType<ListViewItem>())
{
// ...
}
// Find the first visual ascendant control using its name
control = uiElement.FindAscendant("MyScrollViewer");
// Find the first visual ascendant control of a specified type
control = uiElement.FindAscendant<ScrollViewer>();
Examples
You can find more examples in the unit tests.
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Windows Community Toolkit