Bonjour,
J' ai une application WPF qui travaille avec des services WCF et Entity framowork.
j'echange des object facture entre les 2 ( une facture = un fournisseur et une facture = plusieurs article. classique);
Au start de l'appli je charge la liste des fournisseur dans une prop static ;
Program.cs
je la charge via ce code au callback du WCF
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 internal static ObservableCollection<Fournisseur> lstFourn;
Donc je charge ma liste des fournisseurs en cache.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void ReceiveFournisseur( list<Fournisseur> lst) { Program.lstFourn = new ObservableCollection<Fournisseur>(lst); }
jusque la pas de probleme j'arrive a les envoye au service wcf pour les enregistrer etc.....
LE probleme :
Quand je recupere un object facture depuis mon WCF et que je veut binder l'objet a ma form, le nom du fournisseur ne s'affiche pas dans un Combobox mais bien dans une textbox.
sauf si je recherche le fournisseur de la facture dans mon cache et que je le re assigne a ma facture.
donc pour que le cbx bind il faut que je reassigne le fournisseur de la facture à affiché avec le fournisseur que j'ai dans le cache.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Fournisseur f = Program.lstFounissuer.first(p => p.guid == factureToShow.Fournisseur.GUID) factureToShow.Fournisseur = f;
code du cbx :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 IsEditable="False" DisplayMemberPath="Name" SelectedItem="{Binding Path=Fournisseur}" SelectedIndex="-1" // Code Behind maCbx.Itemsource = Program.lstFourn; this.datacontext = factureToShow;
idées ???
Partager