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 :

Binding d'une ComboBox


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 36
    Par défaut Binding d'une ComboBox
    Bonjour,

    Je travaille sur un WebService, ou j'ai déjà réussi à créer des ComboBox et définir des champs à l'intérieur.

    En voici un exemple :

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ComboBox SelectedIndex = "0" Height="23" HorizontalAlignment="Left" Margin="87,42,0,0" Name="comboBoxCate" VerticalAlignment="Top" Width="221" Grid.Row="1" >
                        <ComboBoxItem>Terminé</ComboBoxItem>
                        <ComboBoxItem>En cours</ComboBoxItem>
                        <ComboBoxItem>Déposé</ComboBoxItem>
    </ComboBox>

    Puis ensuite cela me permet d'ajouter le champ selectionné dans la liste en question via :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var source = dc.Actions;
                dc.AddToActions(
                    new ActionsItem
                    {
                    CategorieValue = comboBoxCate.Text,
                    });
                dc.SaveChanges();
            }


    Mais je bloque sur le remplissage dynamique d'une ComboBox, qui pourrait se remplir directement depuis des champs récupérés. et non défini en "dur" dans le code XAML.
    J'ai trouvé plusieurs pistes parlant de binding : bind ma ComboBox à mon code ? Mais rien de très précis.

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Developpeur .Net
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Developpeur .Net
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Par défaut
    Hello,
    Essayez ceci:
    Code c# : 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
    26
    27
     
    List<string> prenoms= new List<string>()
    {
                    "Andre",
                    "Pierre",
                    "Jacques"
    }
     
    comboBoxCate.DataSource = prenoms;
    comboBoxCate.DisplayMember="Prenom";
     
    //Pour recuperer une valeur selectionnee:
    // a adapter selon vos besoin
     
    if (comboBoxCate.Selecteditem != null)
    {
     var source = dc.Actions;
                dc.AddToActions(
                    new ActionsItem
                    {
                    //
                        CategorieValue = comboBoxCate.SelectedValue;
                    //
                    });
                dc.SaveChanges();
            }
    }

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 36
    Par défaut
    Je vient d'essayer mais j'ai un problème après mon comboBoxCate

    J'ai seulement :
    comboBoxCate.DataContext et comboBoxCate.DataContextChanged pour ce qui est du data.

    Et :
    comboBoxCate.DisplayMemberPath pour le display

    Et je n'ai pas ces propositions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    comboBoxCate.DataSource;
    comboBoxCate.DisplayMember
    Je ne comprend pas j'avais déjà vu sur d'autres sources ce DataSource et le DisplayMember mais il ne me sont pas proposés.

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    il faut que tu lies ta liste au niveau de l'itemsource de ta combobox
    exemple en code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     comboBoxCate.ItemsSource = maliste;
    et tu defini la valeur de ton objet affiché (DisplayMemberPath) et la valeur retourné (SelectedValuePath)
    Exemple en xaml:
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <ComboBox DisplayMemberPath="Nom" SelectedValuePath="Age"  SelectedIndex = "0" Height="23" HorizontalAlignment="Left" Margin="87,42,0,0" Name="comboBoxCate" VerticalAlignment="Top" Width="221" Grid.Row="1" >
    </ComboBox>

  5. #5
    Membre confirmé
    Homme Profil pro
    Developpeur .Net
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Developpeur .Net
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Par défaut
    Vous etes sur WPF donc utilisez DataContext

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    comboBoxCate.DataContext = prenoms;
    et dans xaml
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    <combobox ItemsSource="{Binding}">

Discussions similaires

  1. binding d'une combobox incluse à tabcontrol
    Par SIC83 dans le forum Silverlight
    Réponses: 3
    Dernier message: 22/02/2012, 15h52
  2. Binding dans une combobox
    Par padodanle51 dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 07/06/2011, 15h15
  3. Binding sur une combobox
    Par duaner dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/08/2009, 15h48
  4. [WPF] Binding d'une combobox
    Par mrrenard dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 14/04/2008, 10h58
  5. [WPF] Binding d'une combobox
    Par mrrenard dans le forum C#
    Réponses: 0
    Dernier message: 14/04/2008, 08h46

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