ContainerVisual.VisualChildrenCount ContainerVisual.VisualChildrenCount ContainerVisual.VisualChildrenCount ContainerVisual.VisualChildrenCount Property

Definition

Ruft die Anzahl der untergeordneten Elemente für das ContainerVisual ab.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

Eigenschaftswert

Die Anzahl der untergeordneten Elemente in der VisualCollection der ContainerVisual.The number of children in the VisualCollection of the ContainerVisual.

Beispiele

Das folgende Beispiel zeigt, wie Sie erstellen eine ContainerVisual -Objekt, das als übergeordnetes Element, für zwei verwendet wird DrawingVisual Objekte.The following example shows how to create a ContainerVisual object that is used as the parent for two DrawingVisual objects. Objekte, die hinzugefügt werden, die ContainerVisual Objekt muss in umgekehrter Z-Reihenfolge (von unten nach oben) hinzugefügt werden, um sicherzustellen, dass sie in der richtigen Zeichnungsreihenfolge gerendert werden.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. In der Reihenfolge für die visuelle Struktur ordnungsgemäß aufgelistet werden sollen, das Beispiel enthält den überschriebene Implementierungen der GetVisualChild Methode und VisualChildrenCount Eigenschaft.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

Hinweise

Standardmäßig eine ContainerVisual verfügt nicht über alle untergeordneten Elemente.By default, a ContainerVisual does not have any children.

Hinweise für Vererber

Abgeleitete Klassen ContainerVisual müssen implementieren die VisualChildrenCount Eigenschaft zum Auflisten der untergeordneten visuellen Elemente.Classes that derive from ContainerVisual must implement the VisualChildrenCount property to enumerate the visual children. Die abgeleitete Eigenschaft muss die Anzahl der untergeordneten Elemente für Zurückgeben der ContainerVisual.The derived property must return the number of children for the ContainerVisual.

Die visuelle Struktur kann nicht geändert werden, während dieses Aufrufs.The visual tree cannot be modified during this call.

Gilt für:

Siehe auch