Maison >développement back-end >C++ >Comment puis-je trouver des contrôles WPF par leur type?
Heureusement, WPF fournit une méthode directe pour atteindre cet objectif:
<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>Cette méthode utilise DependencyObject comme entrée et traverse récursivement l'arborescence visuelle et renvoie tous les sous-témoins qui correspondent au type spécifié.
Pour utiliser cette méthode, énumérez simplement le contrôleur de la manière suivante:
<code class="language-csharp">foreach (TextBlock tb in FindVisualChildren<TextBlock>(window)) { // 对 TextBlock tb 执行操作 }</code>Cette méthode fournit une méthode flexible et efficace qui peut localiser le contrôle dans WPF selon le type.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!