Cari kawalan WPF mengikut jenis
Untungnya, WPF menyediakan kaedah langsung untuk mencapai tujuan ini:
<code class="language-csharp">public static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject { if (depObj == null) yield return (T)Enumerable.Empty<T>(); for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++) { DependencyObject child = VisualTreeHelper.GetChild(depObj, i); if (child != null && child is T) { yield return (T)child; } foreach (T childOfChild in FindVisualChildren<T>(child)) { yield return childOfChild; } } }</code>
untuk menggunakan kaedah ini, hanya menghitung pengawal dengan cara berikut:
<code class="language-csharp">foreach (TextBlock tb in FindVisualChildren<TextBlock>(window)) { // 对 TextBlock tb 执行操作 }</code>
Atas ialah kandungan terperinci Bagaimanakah saya dapat mencari kawalan WPF dengan jenis mereka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!