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 :

[WPF] Binding - GridViewColumn - update


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 38
    Points
    38
    Par défaut [WPF] Binding - GridViewColumn - update
    Bonjour à tous

    Etant un débutant de WPF, je m'excuse par avance pour la question qui suit!

    J'ai 3 boutons et un treeview. (en réalité, TreeListView)

    Quand je clique sur un bouton, l'itemsource et la colonne du treeview changent:

    bt1_Click >>
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tree.Columns.Clear();
    tree.ItemsSource = new List<Person>{ ... }

    .. creation d'une nouvelle colonne
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    col.DisplayMemberBinding = new Binding ("Name")
    tree.Columns.Add(col)

    bt2_Click >>
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tree.Columns.Clear();
    tree.ItemsSource = new List<Amount>{ ... }

    .. creation d'une nouvelle colonne
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    col.DisplayMemberBinding = new Binding ("Amount")
    tree.Columns.Add(col)

    bt3_Click >>
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tree.Columns.Clear();
    tree.ItemsSource = new List<WebSite>{ ... }

    .. creation d'une nouvelle colonne
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    col.DisplayMemberBinding = new Binding ("Url")
    tree.Columns.Add(col)

    ****

    Tout marche bien. MAIS! dans la console je vois l'error :
    System.Windows.Data Error: 39 : BindingExpression path error: 'Url' property not found on 'object' ''Person' (HashCode=30581329)'. BindingExpressionath=Url; DataItem='Person' (HashCode=30581329); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    Quand je change la colonne et la source, j'ai l'impression que le treeview a encore les précédentes données et donc forcément vu que ce n'est pas les mêmes objets il ne s'y retrouve plus quand il fait son binding

    Alors où est donc cette erreur ?
    Merci

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Est-ce que tu fais un Clear de tes colonnes avant des les ajouter ? (à moins que 'col' corresponde toujours à la même colonne).

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Oui;

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private void LoadPerson()
    {
        tree.Columns.Clear();
        tree.ItemsSource = PersonManager.Instance.Items;
        CreateColumn("Désignation", "Name", 200, true);
    }

  4. #4
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Je tente quelque chose sans être sûr. Peut tu essayer de mettre cette ligne de code entre chacune des tiennes ?:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dispatcher.Current.Invoke(new Action(()=>{}),DispatcherPriority.ContextIdle,null);
    Jonathan ANTOINE - Découvrez mon livre: MVVM, de la découverte à la maîtrise.

    Microsoft MVP Client Application Development
    - MCPD Windows 4.0, etc.
    Mon blog : http://www.jonathanantoine.com

Discussions similaires

  1. [WPF] Binding et type custom
    Par sehshe dans le forum Framework .NET
    Réponses: 6
    Dernier message: 09/01/2008, 10h19
  2. wpf binding avec un dataset sans listbox
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 25/12/2007, 19h09
  3. [WPF][Binding] Comment binder un fichier XML sur un treeview?
    Par bakonu dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 26/11/2007, 17h09
  4. [WPF] Binding sur app.config
    Par despeludo dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 24/10/2007, 22h56
  5. [WPF]Problème d'update de binding
    Par guitoux1 dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 12/06/2007, 17h42

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