Share via


VisualTreeHelper.GetChild(DependencyObject, Int32) Metode

Definisi

Dengan menggunakan indeks yang disediakan, mendapatkan objek anak tertentu dari objek yang disediakan dengan memeriksa pohon 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

Parameter

reference
DependencyObject

Objek yang menyimpan koleksi anak.

childIndex
Int32

int

Indeks objek anak yang diminta dalam kumpulan anak referensi .

Mengembalikan

Objek anak sebagaimana dirujuk oleh childIndex.

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