Bonjour

J'utilise la classe VisualTreeHelper pour récupérer des éléments générés via Template. Voici la fonction en question, récupérée d'un exemple MS :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
public static childItem FindVisualChild<childItem>(this DependencyObject obj) where childItem : DependencyObject
        {
            for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
            {
                DependencyObject child = VisualTreeHelper.GetChild(obj, i);
                if (child != null && child is childItem)
                    return (childItem)child;
                else
                {
                    childItem childOfChild = FindVisualChild<childItem>(child);
                    if (childOfChild != null)
                        return childOfChild;
                }
            }
            return null;
        }
Le problème, c'est que je m'en sers par exemple pour récupérer les ListViewItem d'une ListView qui a une barre de défilement. D'où explosion du code : le GetChild ne peux pas aller chercher les items qui sont masqués car hors de la "zone de défilement".

Ce qui n'empêche qu'il me les faut tous... une idée ?