请问如何获取某个控件的指定类型子控件啊?
子控件是动态添加的,不一定是直属某个控件,也会是下级的下级。
多谢啦 wpf?查找子控件?动态添加?
[解决办法]
public List<T> GetChildObjects<T>(DependencyObject obj) where T : FrameworkElement
{
DependencyObject child = null;
List<T> childList = new List<T>();
for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)
{
child = VisualTreeHelper.GetChild(obj, i);
if (child is T)
{
childList.Add((T)child);
}
childList.AddRange(GetChildObjects<T>(child));
}
return childList;
}
循环判断。
比如:
DataGrid items = this.DataGrid1;
List<CheckBox> checkBoxs = GetChildObjects<CheckBox>(items);