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 :

Mise a jour valeur d'un binding


Sujet :

Windows Presentation Foundation

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Mise a jour valeur d'un binding
    Après avoir réussi à comprendre le data biding merci ce PDF en ligne:
    http://www.scribd.com/doc/2446420/OR...ition-Aug-2007

    J'ai effectué un biding. Or la valeur n'est prise qu'une fois et n'est pas mise à jour. Celle-ci reste à 20.
    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="{Binding Path=angle.ValDebut(), UpdateSourceTrigger=PropertyChanged}"/>
    <SplineDoubleKeyFrame KeyTime="00:00:01" Value="{Binding Path=Val, UpdateSourceTrigger=PropertyChanged}"/>
    (Val = angle.get())

    J'ai essayé de mettre un UpdateSourceTrigger mais cela ne change rien.
    Ce storyboard se déclanche sur le click de Button comme la fonction c#, ci-dessous, qui modifie la valeur de l'angle
    private void button_Click(object sender, RoutedEventArgs e)
    {
    angle.MisAJour(20);
    button.Content = (angle.get());
    }

    Le contenu du button est correct puisque la valeur de celui-ci s'incrémente bien de 20 à chaque fois, grace à ma fonction MisAJour. Cela prouve, que la valeur de angle change bien. Or la valeur du Biding reste inchangée, toujours 20 en l'occurence. Merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Je comprend pas bien ton pb

    En plus, c'est quoi ce code ? Je serais surpris qu'il fonctionne....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Binding Path=angle.ValDebut()

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Effectivement je viens de voir ca ne devrait pas marcher mais, ca marche.
    Bon j'ai arrangé ca.
    Mon pb c'est que la valeur dans le xaml reste la-même tandis que dans le C# elle change bien. Voila en gros

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Je ne comprend pas ce que tu veux dire par là:

    Citation Envoyé par tomtom_94 Voir le message
    la valeur dans le xaml reste la-même tandis que dans le C# elle change bien.
    C'est au niveau de ton interface graphique que tu ne vois aucun changements ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Ben Val au départ vaut 20 c'est bon et quand il passe à 40, rien ne change.
    C'est peut-être du au dataContext

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par tomtom_94 Voir le message
    Ben Val au départ vaut 20 c'est bon et quand il passe à 40, rien ne change.
    C'est peut-être du au dataContext
    Oui mais ca ne change pas sur ton interface graphique ? Et dans ton code C#, en débuggant, tu vois que ca change ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Résolu je croyais que le binding marchait comme un pointeur alors que non, il faut mettre à jour la valeur

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Néanmoins je ne sais pas comment accéder à la valeur à modifier dans xaml à partir du C#.
    <Window.Resources>
    <Storyboard x:Key="OnMouseLeftButtonDown1">
    <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="Racine_new" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="{Binding Path=Val2, UpdateSourceTrigger=PropertyChanged}"/>

    Pardon je débute !!!
    Mais on est la pour apprendre

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    J'ai dis que des conneries, c'est la fatigue et mon anglais médiocre qui en est la cause.

    la solution passe surement par UpdateSourceTrigger mais, j'ai essayé toutes les valeurs.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Il fallait utilisé une classe de type DependencyObject, avec des
    Dependency Property. Il est conseillé d'utiliser ces classes dans les applications WPF où il y a de nombreux binding ...

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

Discussions similaires

  1. [crystal XI]Mise a jour des valeurs d'un fichier xml
    Par xxxcapxxx dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 31/08/2007, 12h21
  2. valeur mise a jour dans un update panel
    Par kazoumoulox dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/08/2007, 14h51
  3. [Formulaire Flash] mise a jour valeur d'un Champs
    Par popogendarme dans le forum Coldfusion
    Réponses: 3
    Dernier message: 30/07/2007, 19h19
  4. [Requete] Garder des valeurs non mises a jour
    Par le_gueux90 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 15/05/2007, 14h44
  5. recuperer valeur liste deroulante + mise a jour champs input
    Par dj_kyl dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/03/2006, 19h42

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