ContainerVisual.GetVisualChild(Int32) ContainerVisual.GetVisualChild(Int32) ContainerVisual.GetVisualChild(Int32) ContainerVisual.GetVisualChild(Int32) Method

Definition

Gibt ein angegebenes untergeordnetes Visual-Element für das übergeordnete ContainerVisual-Element zurück.Returns a specified child Visual for the parent 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

Parameter

index
Int32 Int32 Int32 Int32

Eine 32-Bit-Ganzzahl mit Vorzeichen, die den Indexwert des untergeordneten Visual-Elements darstellt.A 32-bit signed integer that represents the index value of the child Visual. Der Wert von index muss zwischen 0 und VisualChildrenCount - 1 liegen.The value of index must be between 0 and VisualChildrenCount - 1.

Gibt zurück

Das untergeordnete Visual-Element.The child Visual.

Beispiele

Im folgenden Beispiel wird gezeigt, wie ein ContainerVisual -Objekt erstellt wird, das als übergeordnetes DrawingVisual Element für zwei-Objekte verwendet wird.The following example shows how to create a ContainerVisual object that is used as the parent for two DrawingVisual objects. Objekte, die dem ContainerVisual -Objekt hinzugefügt werden, müssen in umgekehrter z-Reihenfolge (von unten nach oben) hinzugefügt werden, um sicherzustellen, dass Sie in der richtigen ZeichnungsreihenfolgeObjects 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. Damit die visuelle Struktur ordnungsgemäß aufgezählt wird, stellt das Beispiel überschriebene Implementierungen der GetVisualChild -Methode und der- VisualChildrenCount Eigenschaft bereit.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 weist ein ContainerVisual -Element keine untergeordneten Elemente auf.By default, a ContainerVisual does not have any children.

Hinweise für Vererber

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

Gilt für:

Siehe auch