Find Visual Child
//http://simpledbbrowser.codeplex.com/ //License: Microsoft Public License (Ms-PL) using System.Diagnostics; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; namespace AWS.Framework.WPF.Utility { public sealed class Helpers { public static childItem FindVisualChild<childItem>(DependencyObject obj) where childItem : DependencyObject { for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++) { DependencyObject child = VisualTreeHelper.GetChild(obj, i); if (child != null && child is childItem) return (childItem)child; else { childItem childOfChild = FindVisualChild<childItem>(child); if (childOfChild != null) return childOfChild; } } return null; } } }