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         }                 
获取父级控件

相关文章: