Aracılığıyla paylaş


ContainerVisual.GetVisualChild(Int32) Yöntem

Tanım

Üst ContainerVisualöğesi için belirtilen alt öğeyi Visual döndürür.

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

Parametreler

index
Int32

Alt Visualöğesinin dizin değerini temsil eden 32 bit imzalı tamsayı. değeri index 0 ile VisualChildrenCount - 1 arasında olmalıdır.

Döndürülenler

Visual

Alt öğesi Visual.

Örnekler

Aşağıdaki örnekte, iki DrawingVisual nesne için üst öğe olarak kullanılan bir ContainerVisual nesnenin nasıl oluşturulacağı gösterilmektedir. Nesneye eklenen nesneler doğru çizim sırasına göre işlendiğinden ContainerVisual emin olmak için ters z sırasına (yukarıdan aşağıya) eklenmelidir. Görsel ağacının doğru numaralandırılabilmesi için örnek, yöntemin ve VisualChildrenCount özelliğin GetVisualChild geçersiz kılınan uygulamalarını sağlar.

// 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çıklamalar

Varsayılan olarak, bir ContainerVisual alt öğe içermez.

Devralanlara Notlar

Bu çağrı sırasında görsel ağaç değiştirilemez.

Şunlara uygulanır

Ayrıca bkz.