1 using System.Windows.Media; 2 3 /// <summary> 4 /// 获取父级控件 5 /// </summary> 6 /// <typeparam name="T">类型 调用前需要预先指定</typeparam> 7 /// <param name="obj">当前控件对象</param> 8 /// <param name="name">要查找的父级控件的Name(Name为“ ”时,表示上一次父控件)</param> 9 public static T GetParentObject<T>(DependencyObject obj, string name=null) where T : FrameworkElement 10 { 11 12 DependencyObject parent = VisualTreeHelper.GetParent(obj); 13 14 //int i = 0; 15 16 while (parent != null) 17 { 18 19 if (parent is T && (((T)parent).Name == name | string.IsNullOrEmpty(name))) 20 { 21 22 return (T)parent; 23 24 } 25 26 parent = VisualTreeHelper.GetParent(parent); 27 28 } 29 30 return null; 31 32 }
相关文章: