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 :

Binding twoWay d'une TextBox


Sujet :

Windows Presentation Foundation

  1. #1
    Modérateur
    Avatar de Flaburgan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 229
    Points : 3 579
    Points
    3 579
    Par défaut Binding twoWay d'une TextBox
    Bonjour à tous,

    Bon, je l'avoue, je ne suis toujours pas super familier avec .NET. Alors je profite de votre gentillesse pour m'expliquer ce qui cloche.

    J'ai une TextBox dans ma window (qui est modale, avec ShowDialog, je le précise je sais pas si ça change quelque chose) :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    <TextBox Text="{Binding Path=Id, Mode=TwoWay}"/>
    que j'ai donc bindé à une propriété Id de mon ViewModel, lui même déclaré comme le DataContext de ma vue, pas de problème à ce niveau là.

    Pour vérifier si ma valeur de l'Id changeait bien, j'ai fait :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private string id;
    public string Id {
      get { return id; }
      set { id = value; MessageBox.Show("Lot id change : " + Id); }
    }

    Résultat : Quand je modifie mon TextBox à la main, j'ai ma pop up
    Quand une autre partie de mon code modifie Id, j'ai la pop up MAIS mon textbox reste avec le contenu qu'il avait avant.

    Conclusion, on dirait que le binding ne marche quand dans le sens contenu du textbox => id, et pas dans le sens id => contenu du textbox;

    Si quelqu'un a une idée...
    "Historiquement, techniquement, économiquement et moralement, Internet ne peut pas être contrôlé. Autant s’y faire." Laurent Chemla

    Je soutiens Diaspora*, le réseau social libre.

    Veillez à porter une attention toute particulière à l'orthographe...

    Blog collaboratif avec des amis : http://geexxx.fr

    Mon avatar a été fait par chiqitos, merci à lui !

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    La base pour un binding réussi est l'interface INotifyPropertyChanged.
    Je te laisse chercher dessus, c'est amplement & correctement documenté

  3. #3
    Modérateur
    Avatar de Flaburgan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 229
    Points : 3 579
    Points
    3 579
    Par défaut
    Je connais un peu mais je vois pas comment ça marche dans ce sens là.
    Par exemple pour une treeview j'ajoute l’événement SelectedItemChanged et j'ai une méthode derrière qui met à jour ma propriété.
    Mais là c'est la propriété qui change, je peux pas mettre d’événement dessus ? Enfin peut être j'en sais rien.
    Ya l’événement SourceUpdated que je peux mettre sur ma textbox sinon, mais je suis pas sûr que ce soit sur la textbox que je dois faire quelque chose...
    "Historiquement, techniquement, économiquement et moralement, Internet ne peut pas être contrôlé. Autant s’y faire." Laurent Chemla

    Je soutiens Diaspora*, le réseau social libre.

    Veillez à porter une attention toute particulière à l'orthographe...

    Blog collaboratif avec des amis : http://geexxx.fr

    Mon avatar a été fait par chiqitos, merci à lui !

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    http://broux.developpez.com/articles...g-silverlight/
    C'est du Silverlight mais valable pour WPF

  5. #5
    Modérateur
    Avatar de Flaburgan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 229
    Points : 3 579
    Points
    3 579
    Par défaut
    J'ai réussi, merci beaucoup
    "Historiquement, techniquement, économiquement et moralement, Internet ne peut pas être contrôlé. Autant s’y faire." Laurent Chemla

    Je soutiens Diaspora*, le réseau social libre.

    Veillez à porter une attention toute particulière à l'orthographe...

    Blog collaboratif avec des amis : http://geexxx.fr

    Mon avatar a été fait par chiqitos, merci à lui !

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

Discussions similaires

  1. [Débutant] Data binding - Pour lier une textbox à une propriété.
    Par Gualino dans le forum VB.NET
    Réponses: 15
    Dernier message: 10/09/2011, 17h13
  2. [MVVM] Binding TwoWay sur une combobox
    Par Digilougm dans le forum Silverlight
    Réponses: 5
    Dernier message: 21/06/2011, 11h06
  3. Bind d'une textbox d'une usercontrol sur une Dependency property
    Par Yogy dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 27/04/2010, 05h26
  4. Binding dans une TextBox
    Par Lelio1407 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 14/10/2009, 17h00
  5. [Binding] Comment le faire fonctionner TwoWay sur une Collection<String> ?
    Par matdur dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 22/04/2009, 11h39

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