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 :

Probleme de binding dans une DataGrid


Sujet :

Windows Presentation Foundation

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 545
    Points
    545
    Par défaut Probleme de binding dans une DataGrid
    Bonjour,

    J'ai un probleme de binding dans une DataGrid, dont voici un extrait en XAML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <DataGrid.Columns>
    	<DataGridTextColumn Header="Name" Binding="{Binding Path=Name, Mode=TwoWay}" />
    	<DataGridTemplateColumn Header="Type" >
    		<DataGridTemplateColumn.CellTemplate>
    			<DataTemplate>
    				<ComboBox ItemsSource="{StaticResource TypeValues}" SelectedItem="{Binding Path=Type,  RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGrid}},  Mode=TwoWay}"/>
    			</DataTemplate>
    ...
    </DataGrid.Columns>
    Pour la premiere colonne en texte, c'est nickel.
    Mais ensuite, la deuxieme colonne est une Combo Box est je voudrais binder le contenu de la combo box avec le DataContext de la DataGrid, mais meme avec RelativeSource, ca ne fonctionne pas.
    En fait, c'est normal, car je veux binder avec un seul element (comme pour la premiere colonne) et le DataContext de la DataGrid est bien sur une liste d'elements.
    Je voudrais en fait un truc du genre :

    AncestorType={x:Type DataGridRowItem}

    Merci d'avance pour vos idees !

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Alors normalement si tu veux utiliser le DataContext pour faire du binding, il me semble que tu dois juste faire {Binding Path=Type}.

    Si tu es dans un UserControl il va récupérer naturellement le DataContext de son parent ...

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 545
    Points
    545
    Par défaut
    En fait, {Binding Path=Type} ne fonctionne pas car justement la combo box n'herite pas du DataContext de la DataGrid car il a ete "surcharge" par :
    ComboBox ItemsSource="{StaticResource TypeValues}"
    La comboBox et la DataGrid ont 2 DataContext differents et je voudrais que la ComboBox utilise celui de la DataGrid ...

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Je ne sais aps ce que tu as dans ton TypeValues mais es ce que ce n'est pas uen valeur que tu devrais stocker dans ton ViewModel ?

Discussions similaires

  1. WPF Bind add new item dans une DataGrid
    Par draco951 dans le forum C#
    Réponses: 12
    Dernier message: 05/02/2013, 08h06
  2. C# et WPF : comment afficher des données dans une DataGrid (to bind or not to bind ?!?)
    Par jmnicolas dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 31/05/2010, 15h03
  3. probleme de selection dans une datagrid
    Par khayri dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/05/2007, 22h06
  4. Réponses: 2
    Dernier message: 21/08/2006, 21h27

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