FrameworkElement.GetVisualChild(Int32) Método

Definición

Reemplaza GetVisualChild(Int32) y devuelve un elemento secundario en el índice especificado de una colección de elementos secundarios.

protected:
 override System::Windows::Media::Visual ^ GetVisualChild(int index);
protected override System.Windows.Media.Visual GetVisualChild (int index);
override this.GetVisualChild : int -> System.Windows.Media.Visual
Protected Overrides Function GetVisualChild (index As Integer) As Visual

Parámetros

index
Int32

Índice de base cero del elemento secundario solicitado de la colección.

Devoluciones

Elemento secundario solicitado. No debería devolver null; si el índice proporcionado está fuera del intervalo, se inicia una excepción.

Ejemplos

En el ejemplo siguiente se muestra cómo un adorno personalizado usa los valores declarados por un VisualCollection objeto que mantiene para sus varios elementos secundarios visuales. Estos valores se notifican a través de invalidaciones de VisualChildrenCount y GetVisualChild.

// To store and manage the adorner's visual children.
VisualCollection visualChildren;
' To store and manage the adorner's visual children.
Private visualChildren As VisualCollection
// Override the VisualChildrenCount and GetVisualChild properties to interface with 
// the adorner's visual collection.
protected override int VisualChildrenCount { get { return visualChildren.Count; } }
protected override Visual GetVisualChild(int index) { return visualChildren[index]; }
' Override the VisualChildrenCount and GetVisualChild properties to interface with 
' the adorner's visual collection.
Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
    Get
        Return visualChildren.Count
    End Get
End Property
Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
    Return visualChildren(index)
End Function

Comentarios

En la FrameworkElement implementación, el único índice válido es cero. El modelo de contenido para GetVisualChild admite cero o uno elemento secundario, no una colección.

Notas a los desarrolladores de herederos

Esta implementación solo es válida para los elementos que no mantienen ninguna colección más descriptiva de elementos secundarios visuales. Cualquier elemento que tenga dicha colección debe invalidar este método y asignar el índice a un índice equivalente de la colección de elementos secundarios compatible con ese elemento. Un índice del intervalo comprendido entre cero y VisualChildrenCount (menos uno) debe devolver un elemento válido; cualquier otro índice debe producir una excepción fuera del intervalo. Un ejemplo de un tipo de elemento que admite una colección secundaria e invalidaciones GetVisualChild(Int32) para devolver más de un elemento secundario posible es Panel.

La implementación predeterminada en FrameworkElement supone solo un elemento secundario visual. Cualquier valor pasado para index distinto de cero hace que se produzca una excepción. Varios elementos comunes, como decoradores, adornos o elementos con representación especializada, invalidan la FrameworkElement implementación (de la implementación de las clases base intermedias). Algunas implementaciones siguen aplicando un elemento secundario visual, mientras que otros permiten una colección.

Se aplica a