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.
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.
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ); }
Partager