VisualTreeHelper.GetChildrenCount(DependencyObject) Methode

Definition

Gibt die Anzahl der untergeordneten Elemente zurück, die in der untergeordneten Auflistung eines Objekts in der visuellen Struktur vorhanden sind.

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

Parameter

reference
DependencyObject

Das Quellvisual.

Gibt zurück

Int32

int

Die Anzahl der visuellen untergeordneten Elemente für das bereitgestellte Quellvisual.

Beispiele

Hier sehen Sie ein Beispiel für eine Hilfsfunktion, die eine Liste von untergeordneten Elementen eines bestimmten Typs aus einer visuellen Struktur kopieren kann. Es verwendet die grundlegenden Durchlaufmethoden GetChildrenCount und GetChild. Es verwendet Rekursion, damit Elemente unabhängig von der Ebene der Schachtelung in Zwischencontainern gefunden werden können. Außerdem wird eine IsSubclassOf-Erweiterungsmethode von System.Reflection verwendet, die den Typvergleich erweitert, um Untertypen als Übereinstimmung für einen Typ zu betrachten.

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);
    }
}

Gilt für: