VisualTree 를 순회하며 해당 타입과 이름이 일치하는 자식을 찾는 소스 코드입니다.
Template 에 유용하게 사용할 수 있습니다.
public static T FindChild<T>(this FrameworkElement obj, string name)
{
DependencyObject dObj = obj as DependencyObject;
T findChild = default(T);
if (dObj != null)
{
int childCount = VisualTreeHelper.GetChildrenCount(dObj);
for (int i = 0; i < childCount; i++)
{
DependencyObject childObj = VisualTreeHelper.GetChild(dObj, i);
FrameworkElement child = childObj as FrameworkElement;
if (child.GetType() == typeof(T) && child.Name == name)
{
findChild = (T)Convert.ChangeType(child, typeof(T));
break;
}
findChild = child.FindChild<T>(name);
if (findChild != null) break;
}
}
return findChild;
}
'Window > WPF' 카테고리의 다른 글
Pixel Shader Effect in WPF (0) | 2015.02.26 |
---|---|
[ WPF ] Word Cloud (0) | 2014.02.23 |
데이터 바인딩 ( Data Binding ) (0) | 2012.07.24 |
WPF Media Player ( Design. GomPlayer ) (0) | 2012.03.12 |
Brush ColorAnimation (0) | 2011.06.22 |