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

C# Discussion :

WPF Grid et Binding


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut WPF Grid et Binding
    Bonjour,

    J'ai créer un tableau qui a une source mais je voudrai rajouter un bouton à chaque ligne pour la supprimer mais mon code de suppression se trouve dans le view model qui me retourne les Data afficher et je n'arrive pas à lever la commande.


    Pour être concret mon code est le suivant :
    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
       <ig:XamGrid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" x:Name="dataGrid"
                        ItemsSource="{Binding CommandeFournisseur.CommandeFournisseurLignes}" //Récupérer du ViewModel en cour (CommandeViewModel).
                        AutoGenerateColumns="false">
     
     
                <ig:XamGrid.Columns>
                    <ig:TextColumn Key="Affaire.Numero"/>
                    <ig:TextColumn Key="Description"/>
                    <ig:TextColumn Key="PrixUnitaire"/>
                    <ig:TextColumn Key="Quantite"/>
                    <ig:TextColumn Key="Total_HT"/>
     
                    <ig:TemplateColumn HeaderText="Supprimer" HorizontalContentAlignment="Center">
                        <ig:TemplateColumn.ItemTemplate>
                            <DataTemplate>
                                <Button Height="15" Style="{StaticResource RemoveButtonStyle}" Command="{Binding DeleteLine}"></Button>
    //Ici je n'arrive pas à appeler DeleteLine qui fait parti du viewModel parent (CommandeViewModel) de la source de binding du tableau
                            </DataTemplate>
                        </ig:TemplateColumn.ItemTemplate>
                    </ig:TemplateColumn>
     
     
     
     
                </ig:XamGrid.Columns>
    Comment puis-je accéder à CommandeViewModel sachant que je suis dans un tableau constituer de CommandeFournisseur.CommandeFournisseurLignes qui est de la pur data.

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Tu dois pouvoir y arriver en utilisant une relative source (via un FindAncestor) pour retrouver la grille parent ou utiliser son nom afin d'en chopper le contexte (le viewModel):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Button Command="{Binding DataContext.DeleteLine, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}} }"/>
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <DataGrid x:Name="dataGrid"
    ....
          <Button Command="{Binding ElementName=dataGrid, Path=DataContext.DeleteLine }"/>
    ...
    </DataGrid>
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut
    C'est bien ce que je pensais mais là il s'agit d'infragistics avec pour type xamgrid... pour le tableau.
    Sinon je pensais mettre la fonction dans le viewmodel relié à cette view mais je ne vois pas comment l'appeler.

    Merci


    Edit j'ai réussi grâce a ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <Button Height="15" Style="{StaticResource RemoveButtonStyle}"
                                        Command="{Binding DataContext.DeleteLine, 
                                    RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ig:XamGrid}}}"/>
    Merci beaucoup

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

Discussions similaires

  1. [WPF] Faire un Binding du fichier Ressource
    Par UNi[FR] dans le forum C#
    Réponses: 13
    Dernier message: 29/09/2009, 22h37
  2. [WPF] Probléme de binding dans un UserControl :(
    Par UNi[FR] dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 17/07/2008, 15h51
  3. [WPF] Problème de binding entre une SortedList et une ListBox
    Par JuTs dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 10/12/2007, 13h20
  4. [WPF] Problème de binding
    Par JuTs dans le forum Framework .NET
    Réponses: 42
    Dernier message: 06/11/2007, 11h28
  5. [WPF]Perte de binding !
    Par GroXx dans le forum C#
    Réponses: 5
    Dernier message: 29/09/2007, 22h59

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