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 :

Combobox complex type


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    Par défaut Combobox complex type
    Bonjour,

    Je cherche à créer une combobox pour binder un type complexe à un autre.

    Alors je fais un objet Commande qui est composé d'un autre objet Etablissement.

    Pour sélectionner l'établissement de la commande je fais ceci.

    La liste des établissements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            private static ObservableCollection<Etablissement> _ListeEtablissement = null;
            public ObservableCollection<Etablissement> ListeEtablissement
            {
                get
                {
                    if (_ListeEtablissement == null)
                    {
                        _ListeEtablissement = new ObservableCollection<Etablissement>(DataAccess.EntitiesContext.Context.Etablissements.OrderBy(F => F.Nom));
                    }
                    return _ListeEtablissement;
                }
            }
    Ma combobox binder sur cette liste en source et sur l'Etablissement de la commande pour l'item selectionné:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                   <ComboBox Grid.Column="0" Grid.Row="1" x:Name="Adresse" Margin=" 0 0 0 0" Width="180" HorizontalAlignment="Left"
                      ItemsSource="{Binding ListeEtablissement}"
                      SelectedValue="{Binding CommandeFournisseur.Etablissement,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                      SelectedValuePath="{Binding Etablissement}" 
                      DisplayMemberPath="Nom"
                          />
    Par la suite je cherche donc à afficher l'adresse de l'Etablissement de la commande; ce qui donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                <TextBlock Grid.Column="0" Grid.Row="3" Text="{Binding CommandeFournisseur.Etablissement.Adresse.NomVoie,Mode=OneWay}"
                           Visibility="Visible"/>
    Le problème est que lorsque je change l’établissement de la commande mon textblock ne se met pas à jour.
    Je ne sais pas ou créer le RaiseProperty pour remonter le changement.


    Mon Etablissement et ma commande sont des objets créés via Entity Framework.

    Dans mon ViewModel ma commande est récupérée de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            public CommandeFournisseur CommandeFournisseur
            {
                get { return ObjectEntity as CommandeFournisseur; }
            }

  2. #2
    Membre confirmé
    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
    Par défaut
    Je n'avais pas mis les bonnes lignes (j'ai remis les bonnes informations).
    De plus je tiens à préciser que l'objet Etablissement composant CommandeFournisseur est une propriété de navigation reflétant le lien entre les 2 classes (en plus de l'IDEtablissement)

    Le Save enregistre bien le changement de l'objet Etablissement mais ma GUI (textblock) ne se met pas à jour.

  3. #3
    Membre confirmé
    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
    Par défaut
    Pour résoudre le problème j'ai utilisé le system de master/détail que je ne connaissais pas...

    Je poste un lien qui pourrait permettre de répondre à d'autres personnes : https://social.msdn.microsoft.com/Fo...ding?forum=wpf

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

Discussions similaires

  1. [SSIS] [2K8] XML complex type
    Par Ptit_Dje dans le forum SSIS
    Réponses: 3
    Dernier message: 03/09/2009, 19h33
  2. [xfire]Dynamic client et complex type
    Par rastalien dans le forum Services Web
    Réponses: 4
    Dernier message: 25/04/2008, 10h00
  3. [XSd] Restriction du contenu d'une complex Type
    Par heavydrinker dans le forum Valider
    Réponses: 1
    Dernier message: 15/04/2008, 10h34
  4. Complex Type String
    Par magicbart dans le forum Services Web
    Réponses: 4
    Dernier message: 16/01/2008, 16h34
  5. [SOAP] [VBA] Comment contourner le probleme des "Complex types" ?
    Par jaudouy dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 06/09/2007, 12h00

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