这里使用的方法是LogicalTreeHelper,当然也可以使用VisualTreeHelper
public ArrayList GetChildren(DependencyObject root, string childName)
{
ArrayList ret = new ArrayList();
IEnumerable children = LogicalTreeHelper.GetChildren(root);
foreach (object child in children)
{
if (child is DependencyObject)
{
if (((DependencyObject)child).DependencyObjectType.Name == childName)
ret.Add(child);
ret.AddRange(GetChildren((DependencyObject)child, childName));
}
}
return ret;
}
如得到所有TextBox
ArrayList al = GetChildren(window1, "TextBox");