다음을 통해 공유


VisualTreeHelper.GetChild(DependencyObject, Int32) 메서드

정의

제공된 인덱스를 사용하여 시각적 트리를 검사하여 제공된 개체의 특정 자식 개체를 가져옵니다.

public:
 static DependencyObject ^ GetChild(DependencyObject ^ reference, int childIndex);
 static DependencyObject GetChild(DependencyObject const& reference, int const& childIndex);
public static DependencyObject GetChild(DependencyObject reference, int childIndex);
function getChild(reference, childIndex)
Public Shared Function GetChild (reference As DependencyObject, childIndex As Integer) As DependencyObject

매개 변수

reference
DependencyObject

자식 컬렉션을 보유하는 개체입니다.

childIndex
Int32

int

참조 자식 컬렉션에서 요청된 자식 개체의 인덱스입니다.

반환

childIndex에서 참조하는 자식 개체입니다.

예제

다음은 시각적 트리 내에서 특정 형식의 자식 요소 목록을 복사할 수 있는 유틸리티 함수의 예입니다. 기본 통과 메서드 GetChildrenCount 및 GetChild를 사용합니다. 재귀를 사용하여 중간 컨테이너 내에 있는 중첩 수준에 관계없이 요소를 찾을 수 있습니다. 또한 형식 비교를 확장하는 System.ReflectionIsSubclassOf 확장 메서드를 사용하여 하위 형식을 Type에 대한 일치 항목으로 간주합니다.

internal static void FindChildren<T>(List<T> results, DependencyObject startNode)
  where T : DependencyObject
{
    int count = VisualTreeHelper.GetChildrenCount(startNode);
    for (int i = 0; i < count; i++)
    {
        DependencyObject current = VisualTreeHelper.GetChild(startNode, i);
        if ((current.GetType()).Equals(typeof(T)) || (current.GetType().GetTypeInfo().IsSubclassOf(typeof(T))))
        {
            T asType = (T)current;
            results.Add(asType);
        }
        FindChildren<T>(results, current);
    }
}

적용 대상