Bonjour,
Est-il possible de récupérer la liste des contrôles de la fenêtre courante depuis le code C# pour pouvoir les parcourir et récupérer (par exemple) tous les contrôles de type bouton ?
Merci.
Version imprimable
Bonjour,
Est-il possible de récupérer la liste des contrôles de la fenêtre courante depuis le code C# pour pouvoir les parcourir et récupérer (par exemple) tous les contrôles de type bouton ?
Merci.
Sur la Window, tu as une collection nommé Children je crois: il suffit que tu l'énumère pour avoir la liste des contrôles.
C'est un truc comme ça que je cherche oui... :?
Actuellement je regarde du côté de :
- VisualCollection ;
- VisualCollection.Enumerator
J'ai essayé ça dans le constructeur :
mais _children est vide...Code:VisualCollection _children = new VisualCollection( this );
Il fallait bien jouer avec un Visual quelque chose ... ;)
Le bout de code ci-dessous (tiré de la msdn) me permet d'obtenir ce que je voulais :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Enumerate all the descendants of the visual object. public void EnumVisual( Visual myVisual ) { for( int i = 0; i < VisualTreeHelper.GetChildrenCount( myVisual ); i++ ) { // Retrieve child visual at specified index value. Visual childVisual = (Visual)VisualTreeHelper.GetChild( myVisual, i ); // Do processing of the child visual object. if( childVisual.GetType() == typeof( Button) ) { //... } // Enumerate children of the child visual object. EnumVisual( childVisual ); }