ContainerVisual.GetVisualChild(Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
부모 Visual 의 지정된 자식 ContainerVisual을 반환합니다.
protected:
override System::Windows::Media::Visual ^ GetVisualChild(int index);
protected override sealed System.Windows.Media.Visual GetVisualChild (int index);
override this.GetVisualChild : int -> System.Windows.Media.Visual
Protected Overrides NotOverridable Function GetVisualChild (index As Integer) As Visual
매개 변수
- index
- Int32
자식 Visual의 인덱스 값을 나타내는 부호 있는 32비트 정수 값입니다. index
의 값은 0과 VisualChildrenCount - 1 사이여야 합니다.
반환
자식 Visual입니다.
예제
다음 예제에서는 두 DrawingVisual 개체에 대 한 ContainerVisual 부모로 사용 되는 개체를 만드는 방법을 보여 집니다. 개체에 ContainerVisual 추가된 개체는 올바른 그리기 순서로 렌더링되도록 역방향 z 순서(아래쪽에서 위쪽)로 추가해야 합니다. 시각적 트리를 올바르게 열거하기 위해 예제에서는 메서드 및 VisualChildrenCount 속성의 재정의된 구현을 GetVisualChild 제공합니다.
// Create a host visual derived from the FrameworkElement class.
// This class provides layout, event handling, and container support for
// the child visual objects.
public class MyContainerVisualHost : FrameworkElement
{
private ContainerVisual _containerVisual;
public MyContainerVisualHost(DrawingVisual border, DrawingVisual text)
{
// Create a ContainerVisual to hold DrawingVisual children.
_containerVisual = new ContainerVisual();
// Add children to ContainerVisual in reverse z-order (bottom to top).
_containerVisual.Children.Add(border);
_containerVisual.Children.Add(text);
// Create parent-child relationship with host visual and ContainerVisual.
this.AddVisualChild(_containerVisual);
}
// Provide a required override for the VisualChildrenCount property.
protected override int VisualChildrenCount
{
get { return _containerVisual == null ? 0 : 1; }
}
// Provide a required override for the GetVisualChild method.
protected override Visual GetVisualChild(int index)
{
if (_containerVisual == null)
{
throw new ArgumentOutOfRangeException();
}
return _containerVisual;
}
}
' Create a host visual derived from the FrameworkElement class.
' This class provides layout, event handling, and container support for
' the child visual objects.
Public Class MyContainerVisualHost
Inherits FrameworkElement
Private _containerVisual As ContainerVisual
Public Sub New(ByVal border As DrawingVisual, ByVal text As DrawingVisual)
' Create a ContainerVisual to hold DrawingVisual children.
_containerVisual = New ContainerVisual()
' Add children to ContainerVisual in reverse z-order (bottom to top).
_containerVisual.Children.Add(border)
_containerVisual.Children.Add(text)
' Create parent-child relationship with host visual and ContainerVisual.
Me.AddVisualChild(_containerVisual)
End Sub
' Provide a required override for the VisualChildrenCount property.
Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
Get
Return If(_containerVisual Is Nothing, 0, 1)
End Get
End Property
' Provide a required override for the GetVisualChild method.
Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
If _containerVisual Is Nothing Then
Throw New ArgumentOutOfRangeException()
End If
Return _containerVisual
End Function
End Class
설명
기본적으로 a에는 ContainerVisual 자식이 없습니다.
상속자 참고
이 호출 중에는 시각적 트리를 수정할 수 없습니다.