Lenguaje

VisualTreeHelper.GetChild(DependencyObject, Int32) Método

Definición

Con el índice proporcionado, obtiene un objeto secundario específico del objeto proporcionado examinando el árbol visual.

public:
 static DependencyObject ^ GetChild(DependencyObject ^ reference, int childIndex);
 static DependencyObject GetChild(DependencyObject const& reference, int const& childIndex);
public static DependencyObject GetChild(DependencyObject reference, int childIndex);
function getChild(reference, childIndex)
Public Shared Function GetChild (reference As DependencyObject, childIndex As Integer) As DependencyObject

Parámetros

reference
DependencyObject

Objeto que contiene la colección secundaria.

childIndex
Int32

int

Índice del objeto secundario solicitado en la colección secundaria de referencia .

Devoluciones

Objeto secundario al que hace referencia childIndex.

Ejemplos

Este es un ejemplo de una función de utilidad que puede copiar una lista de elementos secundarios de un tipo determinado desde dentro de un árbol visual. Usa los métodos transversales básicos GetChildrenCount y GetChild. Usa recursividad para que se puedan encontrar elementos independientemente del nivel de anidamiento en contenedores intermedios. También usa un método de extensión IsSubclassOf de System.Reflection que extiende la comparación de tipos para considerar los subtipos como una coincidencia para un tipo.

internal static void FindChildren<T>(List<T> results, DependencyObject startNode)
  where T : DependencyObject
{
    int count = VisualTreeHelper.GetChildrenCount(startNode);
    for (int i = 0; i < count; i++)
    {
        DependencyObject current = VisualTreeHelper.GetChild(startNode, i);
        if ((current.GetType()).Equals(typeof(T)) || (current.GetType().GetTypeInfo().IsSubclassOf(typeof(T))))
        {
            T asType = (T)current;
            results.Add(asType);
        }
        FindChildren<T>(results, current);
    }
}

Se aplica a