FrameworkElement.GetVisualChild(Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.