IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

probleme binding combobox


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut probleme binding combobox
    Salut tout le monde,

    j'ai un petit soucis avec le binding de mes combobox et le changement de la valeur à l'affichage dans ma listView.

    Cela fonctionne quand je travaille avec des textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Text="{Binding Path=NomRepro}" DataContext="{Binding ElementName=ListRepro,
    Path=SelectedItem}"
    Ici je récupère la valeur sélectionné dans ma listView et la met dans ma textBox.


    Puis si je modifie la valeur dans ma textBox, j'appelle la fonction OnPropertyChanged() et la valeur se met à jour.

    Le problème est que cela ne fonctionne pas avec les combobox, au moment de passer dans ma fonction OnPropertyChanged() il m'indique que la valeur de this.PropertyChanged est à null et donc sort de la fonction et je ne vois pas d'ou vient le problème.

    Ma combobox possède des items au lancement de l'application, et pour afficher la valeur que j'ai sélectionner dans ma listView j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Text="{Binding Path=FormatRepro}"
    DataContext="{Binding ElementName=ListRepro, Path=SelectedItem}"
    Donc je récupère bien la valeur à l'affichage dans ma comboBox mais si je modifie cette valeur elle n'est pas mise a jour dans ma listView.

    Si quelqu'un à la solution, merci

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Points : 341
    Points
    341
    Par défaut
    J'ai pas trop compris ce que tu essayes de faire... désolé :p

    Pour le ComboBox, tu peux changer la valeur sélectionné avec la propriété SelectedItem. C'est ça que tu veux changer ?
    www.japf.fr mon blog sur WPF et .Net

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Ce que je veux faire c'est, lorsque je modifie la selection dans ma comboBox, la valeur est donc modifier dans mon objet via l'assesseur .Set... et dans le Set j'appelle la fonction OnPropertyChanged() sauf que quand je suis dans la fonction propertychanged il m'indique que propertychanged est null et donc sort de la fonction et il ne me met pas a jour le listView, donc je voudrai savoir pourquoi il ne me met pas a jour la listView avec les combobox alors qu'avec les textbox il me met bien a jour la list

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Petite précision :

    j'ai une classe mère qui est abstraite et 3 classes filles. Mon objet est donc instancié avec une de ces classes filles. J'ai essayé avec une classe simple la modification sur le selectedItem de ma combobox et le OnPropertyChanged fonctionne hors quand j'utilise ma classe fille ca ne fonctionne plus il me met la valeur OnPropertyChanged a null et sort de la fonction PropertyChanged.

    Cela se produit quand je fais hérité mes classes par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Produit : INotifyPropertyChanged
    Dans cette classe ca va bien fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class ProduitBar : Produit
    Mais dans cette classe ca ne fonctionnera pas même si j'utilise NEW sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public event PropertyChangedEventHandler PropertyChanged;
    Si quelqu'un a la solution j'en aurai grandement besoin

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    J'ai trouver la solution à mon problème, je la poste pour ce qui serait ou seront dans le même cas que moi :

    Il faut déclarer la fonction qui se trouve dans classe mère en virtuel pour que les modifications soit effectué dans la classe mère et dans la classe fille. Cela donne :

    Classe mère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class Produit1: INotifyPropertyChanged
        {
            public event PropertyChangedEventHandler PropertyChanged;
     
            ...
     
            protected virtual void OnPropertyChanged(string propertyName)
            {
                if (this.PropertyChanged != null)
                    this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
     
        }
    Classe fille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Produit2 : Produit1, INotifyPropertyChanged
        {
            public new event PropertyChangedEventHandler PropertyChanged;
     
            ...
     
            protected override void OnPropertyChanged(string propertyName)
            {
                if (this.PropertyChanged != null)
                    this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    Voila pour la solution j'espère que cela vous seras utile si vous vous trouvez dans la même situation que moi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FLASH 8] Probleme de comboBox
    Par dom_dev dans le forum Flash
    Réponses: 14
    Dernier message: 06/07/2006, 11h45
  2. [C#][2.0] Probleme Binding d'un ToolTip
    Par vinsou___ dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/07/2006, 19h11
  3. [MFC] probleme remplissage comboBox avec ADOLib
    Par moulefrite dans le forum MFC
    Réponses: 3
    Dernier message: 05/04/2006, 14h08
  4. probleme avec combobox et Etats
    Par el_quincho dans le forum IHM
    Réponses: 1
    Dernier message: 13/03/2006, 12h05
  5. [VB.NET] Probleme avec ComboBox
    Par Aspic dans le forum VB.NET
    Réponses: 5
    Dernier message: 20/11/2005, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo