Bien le bonjour
Voici mon souci : j'ai une combobox qui doit afficher une liste d'utilisateurs, j'ai donc ajouté un ItemTemplate pour afficher les items sous la forme "Nom, Prénom" comme ceci :
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <ComboBox ItemsSource="{Binding Users}" SelectedItem="{Binding SelectedUser, Mode=TwoWay}" Width="300" IsEditable="True" IsReadOnly="True" Margin="0,5,0,0" HorizontalAlignment="Left"> <ComboBox.ItemTemplate> <DataTemplate> <TextBlock> <TextBlock.Text> <MultiBinding StringFormat="{}{0}, {1}"> <Binding Path="lastName"/> <Binding Path="firstName"/> </MultiBinding> </TextBlock.Text> </TextBlock> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> <TextBox Text="{Binding SelectedUser.firstName}" HorizontalAlignment="Left" Margin="0,5,0,0" Width="300" Height="25" /> <TextBox Text="{Binding SelectedUser.lastName}" HorizontalAlignment="Left" Margin="0,5,0,0" Width="300" Height="25" />
Note :
Users est une ObservableCollection<User> et SelectedUser de type User
Le rendu est parfait :
Mais quand on sélectionne un item, là c'est le drame :
On voit bien pourtant que mon SelectedUser a bien été mis à jour puisque les TextBox au-dessous prennent les bonne valeurs.
Je ne vois pas ce que je pourrais ajouter ?
Comment puis-je setter le DisplayMemberPath puisque mon affichage se fait sur plusieurs properties ?
Partager