FrameworkElement.GetVisualChild(Int32) 메서드

정의

GetVisualChild(Int32)를 재정의하며, 자식 요소 컬렉션에서 지정된 인덱스의 자식을 반환합니다.Overrides GetVisualChild(Int32), and returns a child at the specified index from a collection of child elements.

protected:
 override System::Windows::Media::Visual ^ GetVisualChild(int index);
protected override System.Windows.Media.Visual GetVisualChild (int index);
override this.GetVisualChild : int -> System.Windows.Media.Visual
Protected Overrides Function GetVisualChild (index As Integer) As Visual

매개 변수

index
Int32

컬렉션에서 요청된 자식 요소의 인덱스(0부터 시작)입니다.The zero-based index of the requested child element in the collection.

반환

요청된 자식 요소입니다.The requested child element. null을 반환하면 안 됩니다. 지정된 인덱스가 범위를 벗어난 경우 예외가 발생합니다.This should not return null; if the provided index is out of range, an exception is thrown.

예제

다음 예제에서는 사용자 지정 표시기가 여러 시각적 자식에 대해 유지 관리 하는 VisualCollection에 의해 선언 된 값을 사용 하는 방법을 보여 줍니다.The following example shows how a custom adorner uses the values declared by a VisualCollection that it maintains for its multiple visual children. 이러한 값은 VisualChildrenCountGetVisualChild의 재정의를 통해 보고 됩니다.These values are reported through overrides of VisualChildrenCount and GetVisualChild.

// To store and manage the adorner's visual children.
VisualCollection visualChildren;
' To store and manage the adorner's visual children.
Private visualChildren As VisualCollection
// Override the VisualChildrenCount and GetVisualChild properties to interface with 
// the adorner's visual collection.
protected override int VisualChildrenCount { get { return visualChildren.Count; } }
protected override Visual GetVisualChild(int index) { return visualChildren[index]; }
' Override the VisualChildrenCount and GetVisualChild properties to interface with 
' the adorner's visual collection.
Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
    Get
        Return visualChildren.Count
    End Get
End Property
Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
    Return visualChildren(index)
End Function

설명

FrameworkElement 구현에서는 유효한 인덱스는 0 뿐입니다.In the FrameworkElement implementation, the only valid index is zero. GetVisualChild에 대 한 콘텐츠 모델은 컬렉션이 아닌 자식 요소를 0 개 또는 1 개 지원 합니다.The content model for GetVisualChild supports either zero or one child elements, not a collection.

상속자 참고

이 구현은 시각적 자식 요소를 더 잘 설명 하는 컬렉션을 유지 관리 하지 않는 요소에만 유효 합니다.This implementation is only valid for elements that do not maintain any more descriptive collection of visual child elements. 이러한 컬렉션이 있는 요소는이 메서드를 재정의 하 고 해당 요소에서 지 원하는 자식 요소 컬렉션의 해당 인덱스에 인덱스를 매핑해야 합니다.Any element that does have such a collection must override this method and map the index to an equivalent index in the child element collection that is supported by that element. 0에서 VisualChildrenCount (1-1) 범위의 인덱스는 유효한 요소를 반환 해야 합니다. 다른 모든 인덱스는 범위를 벗어난 예외를 throw 해야 합니다.An index in the range from zero to VisualChildrenCount (minus one) should return a valid element; any other index should throw an out-of-range exception. 자식 컬렉션을 지원 하 고 GetVisualChild(Int32)를 재정의 하 여 둘 이상의 가능한 자식을 반환 하는 요소 형식의 예는 Panel합니다.An example of an element type that does support a child collection and overrides GetVisualChild(Int32) to return more than one possible child is Panel.

FrameworkElement의 기본 구현에서는 하나의 시각적 자식만 가정 합니다.The default implementation in FrameworkElement presumes only one visual child. 0이 아닌 index에 대해 전달 되는 값이 발생 하면 예외가 throw 됩니다.Any value passed for index other than zero causes an exception to be thrown. 데코레이터, adorner 또는 특수 렌더링이 있는 요소와 같은 몇 가지 공통 요소는 중간 기본 클래스에서 구현 되는 FrameworkElement 구현을 재정의 합니다.Several common elements, such as decorators, adorners, or elements with specialized rendering, override the FrameworkElement implementation (of the implementation from intermediate base classes). 일부 구현에서는 여전히 하나의 시각적 자식을 적용 하지만 다른 일부는 컬렉션을 허용 합니다.Some implementations still enforce one visual child whereas others allow a collection.

적용 대상