Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mencari Kawalan WPF Kanak-kanak Tertentu Dalam Bekas?
Cari kawalan WPF kanak-kanak jenis tertentu dalam bekas
Dalam aplikasi WPF, sangat berguna untuk dapat mengakses kawalan kanak-kanak dalam bekas berdasarkan jenis kawalan. Ini boleh dicapai dengan menggunakan kaedah sambungan GetChildOfType<T>
.
Dalam contoh khusus anda, dengan mengandaikan anda mempunyai Grid bernama MyContainer
yang mengandungi berbilang kawalan ComboBox, anda boleh mendapatkan kawalan anak tersebut menggunakan kod berikut:
<code class="language-csharp">var myCombobox = this.MyContainer.GetChildOfType<ComboBox>();</code>Kaedah
GetChildOfType<T>
secara rekursif mencari unsur anak jenis yang diperlukan dalam objek pergantungan yang ditentukan. Kaedah ini mengambil kira struktur hierarki pokok visual WPF.
Berikut ialah pelaksanaan kaedah sambungan:
<code class="language-csharp">public static T GetChildOfType<T>(this DependencyObject depObj) where T : DependencyObject { if (depObj == null) return null; for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++) { DependencyObject child = VisualTreeHelper.GetChild(depObj, i); if (child != null && child is T) { return (T)child; } T result = GetChildOfType<T>(child); if (result != null) return result; } return null; }</code>
Menggunakan kaedah GetChildOfType<T>
, anda boleh mendapatkan semula kawalan ComboBox kanak-kanak dalam Grid MyContainer
dengan mudah.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Kawalan WPF Kanak-kanak Tertentu Dalam Bekas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!