/// <summary> /// Returns a collection of child elements. /// </summary> public static IEnumerable<DependencyObject> Elements(this DependencyObject item) { ILinqTree<DependencyObject> adapter = new VisualTreeAdapter(item); foreach (var child in adapter.Children()) { yield return child; } }
/// <summary> /// Returns a collection of descendant elements. /// </summary> public static IEnumerable <DependencyObject> Descendants(this DependencyObject item) { ILinqTree <DependencyObject> adapter = new VisualTreeAdapter(item); foreach (var child in adapter.Children()) { yield return(child); foreach (var grandChild in child.Descendants()) { yield return(grandChild); } } }