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.

C#
protected override System.Windows.Media.Visual GetVisualChild(int index);

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.

C#
// To store and manage the adorner's visual children.
VisualCollection visualChildren;
C#
// 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]; }

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

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10