ContainerVisual.VisualChildrenCount 속성

정의

ContainerVisual에 대한 자식 수를 가져옵니다.Gets the number of children for the ContainerVisual.

protected:
 property int VisualChildrenCount { int get(); };
protected override sealed int VisualChildrenCount { get; }
member this.VisualChildrenCount : int
Protected Overrides NotOverridable ReadOnly Property VisualChildrenCount As Integer

속성 값

VisualCollectionContainerVisual에 있는 자식 수입니다.The number of children in the VisualCollection of the ContainerVisual.

예제

다음 예제에서는 만드는 방법을 보여 줍니다.는 ContainerVisual 두 부모로 사용 되는 개체 DrawingVisual 개체입니다.The following example shows how to create a ContainerVisual object that is used as the parent for two DrawingVisual objects. 에 추가 되는 개체는 ContainerVisual 개체가 올바른 그리기 순서 대로 렌더링 되도록 역방향 z-순서 (맨 위로 이동 맨 아래)에 추가 되어야 합니다.Objects that are added to the ContainerVisual object must be added in reverse z-order (bottom to top) to ensure they are rendering in the correct drawing order. 올바르게 열거할 시각적 트리에 대 한 순서로 예제의 재정의 된 구현을 제공 하는 GetVisualChild 메서드 및 VisualChildrenCount 속성입니다.In order for the visual tree to be enumerated correctly, the example provides overridden implementations of the GetVisualChild method and VisualChildrenCount property.

// 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

설명

기본적으로 ContainerVisual 자식이 없습니다.By default, a ContainerVisual does not have any children.

상속자 참고

파생 된 클래스 ContainerVisual 구현 해야 합니다는 VisualChildrenCount 시각적 자식을 열거 하는 속성입니다.Classes that derive from ContainerVisual must implement the VisualChildrenCount property to enumerate the visual children. 파생된 속성에 대 한 자식 수를 반환 해야 합니다는 ContainerVisual합니다.The derived property must return the number of children for the ContainerVisual.

이 호출 하는 동안 시각적 트리를 수정할 수 없습니다.The visual tree cannot be modified during this call.

적용 대상

추가 정보