Problème de databinding

Signaler
Messages postés
3
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
16 février 2010
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
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

Messages postés
3
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
16 février 2010

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"/>
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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
Messages postés
3
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
16 février 2010

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.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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