Share via


VisualTreeHelper.GetChildrenCount(DependencyObject) Metode

Definisi

Mengembalikan jumlah anak yang ada dalam kumpulan anak objek di pohon 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

Parameter

reference
DependencyObject

Visual sumber.

Mengembalikan

Int32

int

Jumlah anak visual untuk visual sumber yang disediakan.

Contoh

Berikut adalah contoh fungsi utilitas yang dapat menyalin daftar elemen anak dari jenis tertentu dari dalam pohon visual. Ini menggunakan metode traversal dasar GetChildrenCount dan GetChild. Ini menggunakan rekursi sehingga elemen dapat ditemukan tidak peduli tingkat bersarang dalam kontainer perantara. Ini juga menggunakan metode ekstensi IsSubclassOf dari System.Reflection yang memperluas perbandingan jenis untuk mempertimbangkan subjenis sebagai kecocokan untuk Jenis.

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

Berlaku untuk