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'un ComboBox


Sujet :

Windows Presentation Foundation

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Par défaut Binding d'un ComboBox
    Bonsoir, j'ai un problème avec une ComboBox dans laquelle je sélectionne un Id d'une liste que j'ai binder sur ItemsSource et que je veux binder par là suite sur le membre IdInsured d'une propriété Visit ,mais je n'y arrive pas....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <ComboBox Grid.Column="1" Grid.Row="2" VerticalAlignment="Center"
                      ItemsSource="{Binding BL.lstPatients, Mode=OneWay}"
                      DisplayMemberPath="Id"
                      SelectedValuePath="IdInsured" SelectedValue="{Binding Visit.IdInsured}"  />
    Sachant que le DataContext=fenetre.xaml.cs

    Je vous remercie d'avance

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Qu'Est-ce qui ne va pas exactement ? L'affichage du combo, ou le selecteditems ?
    Tu peux donner aussi le code du DataContext ? Ca permettrait d'avoir une vue plus claire.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Par défaut
    Désolé voilà le .cs:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using BL;
     
    namespace UI.Visit
    {
        /// <summary>
        /// Logique d'interaction pour VisitWindow.xaml
        /// </summary>
        public partial class VisitWindow : Window
        {
     
            private BE.Visit m_visit = new BE.Visit();      
            public BE.Visit Visit
            {
                get { return m_visit; }
                set { m_visit = value; }
            }
            private BL.BL_Class m_BL;
            public BL.BL_Class BL
            {
                get { return m_BL; }
                set { m_BL = value; }
            }
     
            public bool Save { get; set; }
     
            public VisitWindow(BL_Class B)
            {
                InitializeComponent();
                Save = false;
                BL = B;                 
            }
     
            private void Save_Click(object sender, RoutedEventArgs e)
            {
                Save = true;
                this.Close();
            }
     
            private void Cancel_Click(object sender, RoutedEventArgs e)
            {
                this.Close();
            }
     
            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                this.DataContext = this;
            }
     
            private void Click_AddMedicine(object sender, RoutedEventArgs e)
            {
                if (!(Visit.Medicines.Exists(m => m.Code == BL.lstMedicines[listMedicines.SelectedIndex].Code)))
                {
                    Visit.Medicines.Add(BL.lstMedicines[listMedicines.SelectedIndex]);
                }            
            }
            private void Click_RemoveMedicine(object sender, RoutedEventArgs e)
            {
                if (Medicines.SelectedIndex != -1)
                Visit.Medicines.RemoveAt(Medicines.SelectedIndex);
            }   
        }
    }
    Et le code se trouvant dans le .cs qui appelle la fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void AddVisit_Click(object sender, RoutedEventArgs e)
            {
                Visit.VisitWindow AddVis = new Visit.VisitWindow(BL);
                AddVis.ShowDialog();
                if (AddVis.Save)               
                BL.addVisit(AddVis.Visit);
            }
    Le problème: la valeur de l'Id que je sélectionne dans la comboBox n'est pas renvoyé dans le Visit.IdInsured

  4. #4
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Au lieu du Selectedvalue, essaye avec SelectedItem="{binding Visit,Mode=TwoWay}" .

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Par défaut
    Sa marche, merci

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

Discussions similaires

  1. Binding objet et combobox dans listview
    Par warmy dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 11/03/2009, 00h29
  2. [XAML] Binding de plusieurs ComboBox dans une ListBox
    Par thelpi dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 08/12/2008, 09h17
  3. [WPF] Binding d'une combobox
    Par mrrenard dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 14/04/2008, 10h58
  4. [WPF] Binding d'une combobox
    Par mrrenard dans le forum C#
    Réponses: 0
    Dernier message: 14/04/2008, 08h46
  5. Réponses: 3
    Dernier message: 27/10/2007, 11h33

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