VisualTreeHelper.GetChildrenCount(DependencyObject) Método

Definición

Devuelve el número de elementos secundarios que existen en la colección secundaria de un objeto en el árbol visual.

public:
 static int GetChildrenCount(DependencyObject ^ reference);
 static int GetChildrenCount(DependencyObject const& reference);
public static int GetChildrenCount(DependencyObject reference);
function getChildrenCount(reference)
Public Shared Function GetChildrenCount (reference As DependencyObject) As Integer

Parámetros

reference
DependencyObject

Objeto visual de origen.

Devoluciones

Int32

int

Número de elementos secundarios visuales para el objeto visual de origen proporcionado.

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 de recorrido básicos GetChildrenCount y GetChild. Usa recursividad para que los elementos se puedan encontrar independientemente del nivel de anidamiento dentro de los 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