一、查找某种类型的子控件,并返回一个List集合
public List GetChildObjects(DependencyObject obj, Type typename) where T : FrameworkElement
{
DependencyObject child = null;
List childList = new List();
for (int i = ; i <= VisualTreeHelper.GetChildrenCount(obj) - ; i++)
{
child = VisualTreeHelper.GetChild(obj, i);
if (child is T && (((T)child).GetType() == typename))
{
childList.Add((T)child);
}
childList.AddRange(GetChildObjects(child,typename));
}
return childList;
}
调用:
List listButtons = GetChildObjects(parentPanel, typeof(Button));
二、通过名称查找子控件,并返回一个List集合
public List GetChildObjects(DependencyObject obj, string name) where T : FrameworkElement
{
DependencyObject child = null;