Problème de databinding

skazo88 Messages postés 3 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 16 février 2010 - 15 févr. 2010 à 13:56
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 - 16 févr. 2010 à 18:47
Bonjour à tous

J'aimerai modifier mon code C# en code XAML, mais cela ne fonctionne pas. Le but est d'afficher des données issues d'une DB SQL Server dans une combobox.

Code C#
            
categorieProd.ItemsSource = db.Categorie.ToList();
categorieProd.DisplayMemberPath = "nom";


Avec le code écrit en C#, pas de problème pour afficher les données se trouvant dans ma base de données. Par contre, j'aimerais que cela soit fait dans le code XAML, mais je n'arrive pas à "transformer" pour que cela fonctionne. Ci-dessous un exemple de ce que j'aimerais, mais cela ne fonctionne pas.

Code XAML
<ComboBox HorizontalAlignment="Left" Margin="129,236.723,0,218" Name="categorieProd" Width="202" ItemsSource="{Binding db.Categorie}" DisplayMemberPath="nom"/>


Merci d'avance pour vos réponses

4 réponses

skazo88 Messages postés 3 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 16 février 2010
15 févr. 2010 à 13:59
Petit problème de mise en page, et pas réussi à trouver un bouton pour éditer mon message, désolé.

Voici le code XAML

<ComboBox HorizontalAlignment="Left" Margin="129,236.723,0,218" Name="categorieProd" Width="202" ItemsSource="{Binding db.Categorie}" DisplayMemberPath="nom"/>
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
15 févr. 2010 à 23:05
Salut,

Point 1 : il y a pas de possibilité d'update de post.

Point 2 : ce que tu veux faire c'est du MVVM
regarde iciou sur d'autre post.

En résumé, il faut dans le c# définir le datacontext de la fenêtre
apres mettre le itemsource sur Binding.

Et ensuite définir le displaymemberpath
ou mieux l'itemtemplate

bon dev
0
skazo88 Messages postés 3 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 16 février 2010
16 févr. 2010 à 14:22
Merci beaucoup de ta réponse. Je comprends mieux le principe maintenant. Par contre je dois effectuer énormément de modification dans mon code pour faire du MVVM. Pour cette fois je reste sur ma solution plus simple.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
16 févr. 2010 à 18:47
As you want.

Ca marche maintenant, avec le MVVM meme si plus complexe a mettre en place $ca apporte plus de souplesse (au niveau maintenance et testabilité)

Apres tu peux t'en inspirer pour la suite de tes dev ou les evolutions
car le MVVM n'est pas imcompatible avec la methode directe code dans xaml et cs

Bon dev
0
Rejoignez-nous