我这样只能读取一个image控件,可是我前台listbox<DateTemplete>里面有4个image控件
我的意思就是把所有的image控件里面的内容都读取出来,怎么做?
调用方法 var img = FindVisualChild<Image>(_item);
img.Visibility = System.Windows.Visibility.Visible;
private ChildType FindVisualChild<ChildType>(DependencyObject obj) where ChildType : DependencyObject
{
//if (obj != null)
//{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is ChildType)
return child as ChildType;
else
{
ChildType childOfChild = FindVisualChild<ChildType>(child);
if (childOfChild != null)
return childOfChild;
}
}
//}
return null;
}
[解决办法]
感觉楼主把思路完全固化在从listbox<DateTemplete>里把这些IMAGE找到了,建议您考虑在把IMAGE用个统一的类,比如imagemanager里面管理,无论是listbox还是什么都用imagemanager来初始化,并通过字典吧这些listbox和manager关联在一起。是不是更好。