Re-bonjour !
J'apprends actuellement à utiliser MVVM avec WPF,
et quelques trucs m'échappent...!
J'ai une Combobox et des TextBox. La Combobox est bindé à une liste d'objets (disons que ce sont des objets Client), elle permet d'afficher et de sélectionner un ID, et j'aimerais afficher dans des TextBox les valeurs des propriétés de l'objet selon l'ID sélectionné - classique quoi.
Voici le XAML correspondant :
Clients est donc la méthode publique qui me permet de récupérer ma liste de clients (retourne un objet de type List<Clients> et mon ViewModel implémente INotifyPropertyChanged donc la méthode OnPropertyChanged est appelé dans le setter de Clients).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <ComboBox ItemsSource="{Binding Path=Clients, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding Path=SelectedItem}" DisplayMemberPath="id_client" IsSynchronizedWithCurrentItem="True" /> <TextBox Text="{Binding Path=SelectedItem, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="100" />
Ma Combobox marche, en revanche ma TextBox n'affiche rien du tout.
Pourtant, quand je mets des points d'arrêt sur la méthode publique SelectedItem, je vois bien que le setter est appelé quand je sélectionne un ID, que ma variable privée _selectedItem est bien égal à l'objet client correspondant à l'ID, mais aussi que le getter est appelé, et pourtant la TextBox n'affiche vraiment rien.
Ma question c'est comment faire pour qu'elle affiche au moins quelque chose, et bien sûr comment faire pour qu'elle affiche une propriété de l'objet _selectedItem (par exemple le nom du client, son âge, etc...).
Merci !
Partager