public static void ForEachElement(FrameworkElement treeRoot, ElementHandler elementHandler) { VisualTreeEnumerator en = new VisualTreeEnumerator(treeRoot); while (en.MoveNext()) { FrameworkElement element = en.Current as FrameworkElement; if (element != null) { elementHandler(element); } } }
internal static DependencyObject FindElementCore(DependencyObject treeRoot, Predicate <DependencyObject> predicate) { VisualTreeEnumerator en = new VisualTreeEnumerator(treeRoot); while (en.MoveNext()) { DependencyObject element = en.Current; if (element != null && predicate(element)) { return(element); } } return(null); }