Item de combobox invisible [Résolu]

cs_ano2 5 Messages postés jeudi 25 mars 2010Date d'inscription 29 décembre 2010 Dernière intervention - 26 août 2010 à 15:51 - Dernière réponse : cs_ano2 5 Messages postés jeudi 25 mars 2010Date d'inscription 29 décembre 2010 Dernière intervention
- 26 août 2010 à 18:33
Bonjour à tous,

Depuis quelques jours, j'essaie de me mettre à WPF.
Pour commencer, j'essaie de lier une liste (qui est définie et alimentée dans le code VB.NET) avec un contrôle (un combobox).

Pendant le chargement de la fenetre, je définie le binding entre le combobox et la liste :

   
    Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        _Explorateur = New CLASS_ExplorateurCategories()
        Dim binding As Binding = New Binding()
        binding.Source = _Explorateur.listeCategories
        ComboBox1.SetBinding(DataContextProperty, binding)
        _Explorateur.remplirListe()
    End Sub


(En fait c'est la classe CLASS_ExplorateurCategories qui contient la liste. Et c'est grace à la méthode remplirListe que ma liste est alimentée)

    Public Sub remplirListe()
        _lstCategories.Add(New CLASS_Categorie(0, "test" & compteur))
        OnPropertyChanged("listeCategories")
    End Sub


Jusque la tout va bien et mon code fait bien ce que je veux. Les Categories sont affichées dans le combobox.

Cependant quand je fais de nouveau appel à la méthode remplirListe (grace à un bouton de la fenetre), mon combobox n'affiche pas les nouveaux éléments. Pourtant, il les contient bel et bien puisque si je me met sur le dernier élément (visible) de la combobox et que je descend avec la fleche du clavier, les éléments ajoutés qui n'apparaissent pas sont tout de même présent... (et on peut les voir dans les variables locales lors du débogage)

Je ne sais pas si je me suis bien exprimé, mais je peux envoyer le source si vous le voulez.

Savez vous d'où peut venir l'erreur?

Merci à vous. (j'espère avoir posté dans le bon forum au moins)
Afficher la suite 

1 réponse

Répondre au sujet
cs_ano2 5 Messages postés jeudi 25 mars 2010Date d'inscription 29 décembre 2010 Dernière intervention - 26 août 2010 à 18:33
+3
Utile
Au temps pour moi, j'ai trouvé l'erreur.

Ma liste était déclarée en tant que List(Of...) et apparemment avec une instance de cette liste ça ne met pas à jour l'interface graphique.

J'utilise maintenant les ObservableCollection(Of...) et le travail se fait comme prévu.

Par contre je ne comprends pas vraiment pourquoi...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_ano2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.