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

Silverlight Discussion :

binding sur évènement d'une datagrid


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut binding sur évènement d'une datagrid
    bonjour,

    je fait une appli silverlight 3 utilisant mvvm et j'aimerai savoir comment binder un élèment d'une liste avec une action. Je m'explique:

    dans mon viewModel, j'ai une liste de personnes de type observableCollection(numéro, nom, prénom).
    dans ma vue, j'ai une grid vue bindé à cette liste, et qui m'affiche donc la liste des personnes contenues dans ma collection.

    ce que j'aimerai faire, c'est que sur clic d'une ligne de ma gridview, je puisse stocker l'objet sélectionné (ici une personne) dans mon viewModel (dans une propriété "personneChoisie" qui a un type "personne").

    comment faire svp?

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Ben sur ton grid view tu rajoutes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SelectedItem="{Binding Path=PersonnesChoisie, Mode=TwoWay}"

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    ça ne marche pas.. en xaml voilà mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <data:DataGrid x:Name="listePersonnesTrouvees" SelectedItem="{Binding Path=PersonnesChoisie, Mode=TwoWay}" ItemsSource="{Binding ListeAgentsTrouves, Mode=TwoWay}" Margin="8,34,8,8"/>
    mon item source marche, ma liste s'affiche bien. Je passe par un locator et atteind mon view model.

    ma personne choisie est définie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #region personne sélectionnée dans la liste
            public const string PersonneChoisiePropertyName = "PersonneChoisie";
     
            private Personne _personneChoisie = null;
     
            public Personne PersonneChoisie
            {
                get
                {
                    return this._personneChoisie;
                }
     
                private set
                {
                    if (this._personneChoisie == value)
                    {
                        return;
                    }
     
                    this._personneChoisie = value;
     
                    RaisePropertyChanged(PersonneChoisiePropertyName);
                }
            }
            #endregion
    voila j'ai mis un point d'arret a mon setter mais je n'y passe jamais quand je sélectionne .. jai également mis ces deux textBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <TextBox Text="{Binding PersonneChoisie.numero, Mode=TwoWay}" />
    <TextBox Text="{Binding PersonneChoisie.nom, Mode=TwoWay}" />
    mais rien ne se passe quand je clique sur une ligne de ma dataGrid.

    as tu une idée pour cette erreur?

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tes propriétés PersonneChoisie et ListeAgentsTrouves se trouvent bien dans le même objet ?

    C'est quoi le type de ListeAgentsTrouves ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    ah j'me suis trompé c'est ListePersonnesTrouvees qui est une observable collection de personnes.

    et oui toutes ces propriétés sont dans le même viewModel. j'utilise un service locator qui instancie mon viewModel. donc pour ça pas de pb ça fonctionne.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    par contre toujours pas de moyen de faire évoluer mes textbox sur sélection d'une ligne ..

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/10/2011, 14h30
  2. Réponses: 2
    Dernier message: 21/08/2006, 21h27
  3. Problème sur évènement d'une liste déroulante
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 05/05/2006, 08h03
  4. Réponses: 13
    Dernier message: 21/12/2005, 16h18
  5. [VB.NET] Contextmenu sur une DataGrid
    Par sinoo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/07/2005, 19h51

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