VisualTreeHelper.GetChild(DependencyObject, Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
제공된 인덱스를 사용하여 시각적 트리를 검사하여 제공된 개체의 특정 자식 개체를 가져옵니다.
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.Reflection의 IsSubclassOf 확장 메서드를 사용하여 하위 형식을 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);
}
}