FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) Method

Definición

Reemplaza GetVisualChild(Int32) y devuelve un elemento secundario en el índice especificado de una colección de elementos secundarios.Overrides GetVisualChild(Int32), and returns a child at the specified index from a collection of child elements.

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 Int32 Int32 Int32

Índice de base cero del elemento secundario solicitado de la colección.The zero-based index of the requested child element in the collection.

Devoluciones

Elemento secundario solicitado.The requested child element. No debería devolver null; si el índice proporcionado está fuera del intervalo, se inicia una excepción.This should not return null; if the provided index is out of range, an exception is thrown.

Ejemplos

El ejemplo siguiente muestra cómo un adorno personalizado usa los valores declarados por un VisualCollection que mantiene para sus diversos elementos secundarios visuales.The following example shows how a custom adorner uses the values declared by a VisualCollection that it maintains for its multiple visual children. Estos valores se notifican a través de las invalidaciones de VisualChildrenCount y GetVisualChild.These values are reported through overrides of VisualChildrenCount and 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 el FrameworkElement implementación, el único índice válido es cero.In the FrameworkElement implementation, the only valid index is zero. El modelo de contenido para GetVisualChild es compatible con cero o un elemento secundario, no una colección.The content model for GetVisualChild supports either zero or one child elements, not a collection.

Notas a los desarrolladores de herederos

Esta implementación solo es válida para los elementos que no mantienen una colección de elementos secundarios visuales descriptiva.This implementation is only valid for elements that do not maintain any more descriptive collection of visual child elements. Cualquier elemento que tiene este tipo de colección debe invalidar este método y el índice se asignan a un índice equivalente en la colección de elementos secundarios que sea compatible con ese elemento.Any element that does have such a collection must override this method and map the index to an equivalent index in the child element collection that is supported by that element. Un índice en el intervalo de cero a VisualChildrenCount (menos uno) debe devolver un elemento válido; cualquier otro índice debe producir una excepción fuera del intervalo.An index in the range from zero to VisualChildrenCount (minus one) should return a valid element; any other index should throw an out-of-range exception. Un ejemplo de un tipo de elemento que admite una colección secundaria y reemplaza GetVisualChild(Int32) devolver más de un posible elemento secundario es Panel.An example of an element type that does support a child collection and overrides GetVisualChild(Int32) to return more than one possible child is Panel.

La implementación predeterminada de FrameworkElement presupone que solo un elemento secundario visual.The default implementation in FrameworkElement presumes only one visual child. Cualquier valor pasado index distinto de cero, se produce una excepción que se produzca.Any value passed for index other than zero causes an exception to be thrown. Varios elementos comunes, como los decoradores, adornos o elementos con representación especializada, invalidación el FrameworkElement implementación (de la implementación de clases base intermedias).Several common elements, such as decorators, adorners, or elements with specialized rendering, override the FrameworkElement implementation (of the implementation from intermediate base classes). Algunas implementaciones todavía exigen a un elemento secundario visual mientras que otras permiten una colección.Some implementations still enforce one visual child whereas others allow a collection.

Se aplica a