VisualTreeHelper.GetChild(DependencyObject, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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);
}
}