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 :

Command dans 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 Command dans une DataGrid
    Bonjour

    je souhaite faire une datagrid avec pour chaque ligne un bouton pour "sélectionner" la ligne et valider son choix.

    Seulement voila, avec l'utilisation de mvvm et du "command", ça ne fonctionne pas..

    voici mon code côté view model:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            private void instancierMaCommande()
            {
                maCommande= new RelayCommand<objetBinde>(ExecuteMaCommande);
            }
     
            public ICommand maCommande{ get; internal set; }
     
            public void ExecuteMaCommande(objetBinde param)
            {
                  //.... là où je souhaite arriver avec mon paramètre...
                  //objetBinde est le type d'objet utilisé dans l'observableCollection bindée à madatagrid..
            }
    (bien entendu "instancierMaCommande" est appelé dans mon constructeur par défaut..)

    côté IHM voici ma datagrid:
    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
    <sdk:DataGrid x:Name="dg" AutoGenerateColumns="False" ItemsSource="{Binding maListe}" >
                        		<sdk:DataGrid.Columns>
                                    <sdk:DataGridTextColumn Binding="{Binding Numero}" Header="Num" />
                                    <sdk:DataGridTextColumn Binding="{Binding Nom}" Header="Nom" Width="100"/>
                                    <sdk:DataGridTemplateColumn>
                                        <sdk:DataGridTemplateColumn.CellTemplate>
                                            <DataTemplate>
                                                <Button x:Name="monBtn" Content="choisir" >
                                                    <i:Interaction.Triggers>
                                                        <i:EventTrigger EventName="Click">
                                                            <i:InvokeCommandAction Command="{Binding Path=maCommande}" CommandParameter="{Binding SelectedItem, ElementName=dg} " />
                                                        </i:EventTrigger>
                                                    </i:Interaction.Triggers>
                                                </Button>
                                            </DataTemplate>
                                        </sdk:DataGridTemplateColumn.CellTemplate>
                                    </sdk:DataGridTemplateColumn>
                        		</sdk:DataGrid.Columns>
                        	</sdk:DataGrid>
    voilà je sais que l'erreur vient du binding à ma command mais je ne sais pas comment la résoudre..

  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 : 39
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Command="{Binding Path=DataContext.maCommande, ElementName=dg}"

  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
    désolé ça ne fonctionne pas..

  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 : 39
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par johnaliashead Voir le message
    désolé ça ne fonctionne pas..
    Peux tu détailler?
    L'idée serait de rajouter un converter de debug sur lequel tu puisses te brancher.
    http://blogs.msdn.com/b/wpfsldesigne...plication.aspx

  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
    dans la fenêtre de sortie après quelques seconde j'ai
    Le thread '<Sans nom>' (0xd90) s'est arrêté avec le code 0 (0x0).
    puis d'autres arrivent encore quelques secondes après..

    pourtant les autres champs de mon tableau s'affichent bien donc le dataContext est bon, et j'ai bien vérifié ma commande est bien déclarée côté viewModel ..

    y a t il un moyen simple et efficace pour arriver a faire marcher cette commande?

  6. #6
    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 : 39
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Ah mais oui! Je crois que y'a un bug, le ElementName ne fonctionne pas dans un binding qu'est dans un DataGrid (j'ai entendu ca une fois).

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

Discussions similaires

  1. Entrer des commandes dans une CMD
    Par narsi1 dans le forum C++
    Réponses: 16
    Dernier message: 03/03/2005, 15h10
  2. Afficher une dropdownlist lors de modif dans une DataGrid
    Par MiJack dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/11/2004, 17h42
  3. [VB.NET] Disparition scrollBar dans une DataGrid
    Par aphykite dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/10/2004, 10h29
  4. Pb d'update dans une DataGrid
    Par bidson dans le forum XMLRAD
    Réponses: 11
    Dernier message: 27/05/2003, 14h11

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