wpf 查找父元素、子元素方法

2017-05-29 00:00:54来源:cnblogs.com作者:DeMeng33人点击

 1         /// <summary> 2         /// 根据类型查找子元素 3         /// </summary> 4         /// <typeparam name="T"></typeparam> 5         /// <param name="obj"></param> 6         /// <param name="typename"></param> 7         /// <returns></returns> 8         public List<T> GetChildObjects<T>(DependencyObject obj, Type typename) where T : FrameworkElement 9         {10             DependencyObject child = null;11             List<T> childList = new List<T>();12 13             for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)14             {15                 child = VisualTreeHelper.GetChild(obj, i);16 17                 if (child is T && (((T)child).GetType() == typename))18                 {19                     childList.Add((T)child);20                 }21                 childList.AddRange(GetChildObjects<T>(child, typename));22             }23             return childList;24         }

调用 1 List<StackPanel> initToolBarWeChatUserSp = GetChildObjects<StackPanel>(name, typeof(StackPanel)); 

 1         /// <summary> 2         /// 查找父元素 3         /// </summary> 4         /// <typeparam name="T"></typeparam> 5         /// <param name="obj"></param> 6         /// <param name="name"></param> 7         /// <returns></returns> 8         public static T FindParent<T>(DependencyObject i_dp) where T : DependencyObject 9         {10             DependencyObject dobj = (DependencyObject)VisualTreeHelper.GetParent(i_dp);11             if (dobj != null)12             {13                 if (dobj is T)14                 {15                     return (T)dobj;16                 }17                 else18                 {19                     dobj = FindParent<T>(dobj);20                     if (dobj != null && dobj is T)21                     {22                         return (T)dobj;23                     }24                 }25             }26             return null;27         }

调用 1 Border tbBorder = FindParent<Border>(name); 

  

相关文章

    无相关信息

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台