using System; using System.Windows; using System.Windows.Media; namespace Gestor.Common.Helpers { public class FindVisualChild { public FindVisualChild() { } public static childItem Find(DependencyObject obj) where childItem : DependencyObject { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) { DependencyObject child = VisualTreeHelper.GetChild(obj, i); if (child != null && child is childItem) { return (childItem)child; } childItem _childItem = FindVisualChild.Find(child); if (_childItem != null) { return _childItem; } } return default(childItem); } } }