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 :

ComboBox avec CheckBox en XAML


Sujet :

Windows Presentation Foundation

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2012
    Messages : 20
    Par défaut ComboBox avec CheckBox en XAML
    Bonjour
    Voilà je fais du WPF depuis quelques jours et j'ai un petit souçi.
    On m'a demandé de faire une comboBox avec à l'intérieur des données issus d'une datatable. Jusque là tout va bien mais là où sa se complique, c'est que cette combo box va être utilisé pour filtrer d'autres résultats et donc on m'a demandé de rajouter des checkbox dans la combo, pour pouvoir sélectionner plusieurs résultats.

    Donc au final j'ai fait en xaml un dataTemplate relié à la comboBox :

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <DataTemplate x:Key="DataTemplate2">
                    <CheckBox>
                        <TextBlock Text="{Binding Path=Fournisseur}"/>
                    </CheckBox>
                </DataTemplate>
    ...
    <ComboBox ItemTemplate="{DynamicResource DataTemplate2}" SelectedValuePath="Fournisseur">

    Au final dans ma ComboBox j'ai bien mes valeurs issus de ma DataTable qui sotn sous forme de checkBox.

    Et donc voilà mon problème, une fois que j'ai sa, je voudrais savoir comment je peut faire pour récupérer les valeurs des checkBox que je coche dans ma Combo (le selectedValue ne marche pas).

    J'espere que j'ai ete clair.
    Merci d'avance

  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
    Avec un objet comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class Fournisseur
    {
        public String Name {get;set;}
        public Boolean IsSelected {get;set;}
    }
    Bon après il faudrait rajouter toute la sauce INotifyPropertyChanged toussa...

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <DataTemplate x:Key="DataTemplate2">
        <CheckBox IsChecked="{Binding Path=IsSelected}" Content="{Binding Path=Name}"/>
    </DataTemplate>
    ...
    <ComboBox ItemTemplate="{DynamicResource DataTemplate2}" SelectedValuePath="Fournisseur">

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2012
    Messages : 20
    Par défaut
    Désolé si j'ai du mal à comprendre
    mais je ne vois pas le lien avec ta classe
    surtout que je suis en wpf, tu est sur que je peux utiliser une telle classe ?

    et si oui après comment je relis ta classe Fournisseur à ma comboBox

  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
    Oui oui c'est bien du WPF et non en WPF on binde rarement directement sur une DataTable pour la simple et bonne raison qu'on prefere ajouter une couche intérmediaire et que ca n'est pas forcément une bonne pratique de travailler sur ses entitées de de base de données.

    Ta combo doit ressembler à ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ComboBox ItemsSource="{Binding Path=MesFournisseurs}" SelectedValue="{Binding Path=SelectedFournisseur}">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <CheckBox IsChecked="{Binding Path=IsSelected}" Content="{Binding Path=Name}"/>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>
    Avec une propriété de type IEnumerable<Fournisseur> MesFournisseurs et une propriété de type Fournisseur SelectedFournisseur dans ton DataContext.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2012
    Messages : 20
    Par défaut
    Très bien je te remercie je vais essayer

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

Discussions similaires

  1. combobox avec checkbox
    Par gentelmand dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 01/04/2011, 13h15
  2. recherche d'une combobox avec checkbox
    Par thor76160 dans le forum C#
    Réponses: 17
    Dernier message: 12/08/2010, 15h44
  3. comboBox avec checkBox
    Par gentelmand dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/03/2009, 19h55
  4. PB de chargement de combobox avec une requete
    Par bubu1905 dans le forum Bases de données
    Réponses: 9
    Dernier message: 23/03/2005, 17h14
  5. Réponses: 2
    Dernier message: 26/07/2004, 14h34

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