using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; using System.Windows; namespace YY.Admin.Core.Extension { /// /// 窗体的扩展类 /// public static class WindowExtensions { /// /// 查找子控件 /// /// 子控件的类型 /// 要找的是obj的子控件 /// 想找的子控件的Name属性 /// 目标子控件 public static T GetChildObject(this DependencyObject obj, string name) where T : FrameworkElement { DependencyObject child = null; T grandChild = null; for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++) { child = VisualTreeHelper.GetChild(obj, i); if (child is T && (((T)child).Name == name | string.IsNullOrEmpty(name))) { return (T)child; } else { grandChild = GetChildObject(child, name); if (grandChild != null) return grandChild; } } return null; } } }