Problème pour retrouver avec findname un combobox créé dynamiquement
Bonjour,
Je crée en WPF un formulaire qui génère dynamiquement des combobox nommées par le préfixe "CB_" puis le numéro de la combobox dans lesquelles sont inséré un événement.
Dans cet événement j'aimerais appeler toutes les combobox grâce au Findname pour lire leur contenu.
Le Findname me renvoie un objet null alors que si l'objet a été créé directement en xaml, le findname fonctionne très bien.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
'création de la combobox
sub creationcombobox
Dim MaCombobox1 As New ComboBox
If EspaceValue = " " Then
MaCombobox1.Name = "CB1_" & Right(Str(num), Len(Str(num)) - 1)
Else
MaCombobox1.Name = "CB1_" & Str(num)
End If
MaCombobox1.Height = 30
MaCombobox1.IsEditable = True
MaCombobox1.VerticalContentAlignment = Windows.VerticalAlignment.Center
Grid.SetRow(MaCombobox1, 1)
Grid.SetColumn(MaCombobox1, 3)
magrille.Children.Add(MaCombobox1)
AddHandler MaCombobox1.MouseDoubleClick, AddressOf MethodeCombo1
End Sub
'
Sub MethodeCombo1
Dim NomCB1 As String
Dim CB1 As Object
Dim MonCB1 As ComboBox
NomGB = Convert.ToString("GB_" & monnum)
GB = Me.FindName(NomGB)
NomCB1 = Convert.ToString("CB1_" & monnum)
CB1 = Me.FindName(NomCB1)
If TypeOf CB1 Is ComboBox Then
MonCB1 = TryCast(CB1, ComboBox)
Item1 = MonCB1.Text
Else
MonCB1 = Nothing
End If
End Sub |
Si quelqu'un a une piste à me donner pour pouvoir exploiter mes combobox...
Pour info, dans un premier temps, j'ai essayé de faire
Code:
1 2 3 4 5
|
For Each ctrl In Me.Controls
If TypeOf ctrl Is ComboBox Then
End If
Next |
Mais il me mets une erreur "Controls n'est pas un membre de MaFenetre"
J'ai essayé d'ajouter des imports comme :
Imports System.Windows.Controls
mais sans succès.
C'est pour ça que je me suis rabattu sur le Findname.
Peut-être que la solution a cette erreur de controls me permettrait de résoudre plus facilement mon accès aux combobox.
Si quelqu'un a une proposition pour l'un ou l'autre des problèmes, je suis preneuse car bloquée la-dessus depuis un moment maintenant.
Un grand merci :D