Share via


VisualTreeHelper.GetChildrenCount(DependencyObject) Metodo

Definizione

Restituisce il numero di elementi figlio presenti nell'insieme figlio di un oggetto nella struttura ad albero visuale.

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

Parametri

reference
DependencyObject

Oggetto visivo di origine.

Restituisce

Int32

int

Numero di elementi figlio visivi per l'oggetto visivo di origine fornito.

Esempio

Di seguito è riportato un esempio di funzione di utilità che può copiare un elenco di elementi figlio di un particolare tipo dall'interno di una struttura ad albero visuale. Usa i metodi di attraversamento di base GetChildrenCount e GetChild. Usa la ricorsione in modo che gli elementi possano essere trovati indipendentemente dal livello di annidamento all'interno di contenitori intermedi. Usa inoltre un metodo di estensione IsSubclassOf di System.Reflection che estende il confronto dei tipi per considerare i sottotipi come corrispondenza per 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);
    }
}

Si applica a