志在指尖
用双手敲打未来

wpf查找父元素和子元素代码

1.根据类型查找子元素
///<summary>
///根据类型查找子元素
///</summary>
///<typeparamname=”T”></typeparam>
///<paramname=”obj”></param>
///<paramname=”typename”></param>
///<returns></returns>
publicList<T>GetChildObjects<T>(DependencyObjectobj,Typetypename)whereT:FrameworkElement
{
DependencyObjectchild=null;
List<T>childList=newList<T>();
for(inti=0;i<=VisualTreeHelper.GetChildrenCount(obj)-1;i++)
{
child=VisualTreeHelper.GetChild(obj,i);
if(childisT&&(((T)child).GetType()==typename))
{
childList.Add((T)child);
}
childList.AddRange(GetChildObjects<T>(child,typename));
}
returnchildList;
}c#
1.1调用方法:
List<StackPanel>initToolBarWeChatUserSp=GetChildObjects<StackPanel>(name,typeof(StackPanel));
2.查找父元素
///<summary>
///查找父元素
///</summary>
///<typeparamname=”T”></typeparam>
///<paramname=”obj”></param>
///<paramname=”name”></param>
///<returns></returns>
publicstaticTFindParent<T>(DependencyObjecti_dp)whereT:DependencyObject
{
DependencyObjectdobj=(DependencyObject)VisualTreeHelper.GetParent(i_dp);
if(dobj!=null)
{
if(dobjisT)
{
return(T)dobj;
}
else
{
dobj=FindParent<T>(dobj);
if(dobj!=null&&dobjisT)
{
return(T)dobj;
}
}
}
returnnull;
}
2.1调用方法:
1
BordertbBorder=FindParent<Border>(name);

未经允许不得转载:IT技术网站 » wpf查找父元素和子元素代码
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载