Drôle, comment parfois les choses simples me mordent derrière.WPF: Lier DataGrid à la liste <String>
je peux lier un DataGrid bien à une collection d'une classe arbitraire, en utilisant un DataGridTextColumn comme ceci:
// bound to List<Class>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
Maintenant, je veux lier un DataGrid à une simple collection de cordes. Donc, puisqu'il n'y a pas de propriété « Name » ou quelque chose comme ça pour se lier à, comment puis-je écrire la liaison:
// bound to List<String>
<DataGridTextColumn Header="Name" Binding="{Binding ???}"/>
chaîne n'a pas de propriété « Value » ou quelque chose comme ça. Et si j'écris simplement {Binding}, je finirai par une liaison à sens unique, incapable d'écrire des modifications dans la collection.
En pensant à cela, je pense qu'il n'est pas possible de lier à une collection, donc j'ai besoin d'envelopper ma chaîne dans une classe?
Ou y a-t-il un moyen?
Mais pourquoi l'emballage fonctionne-t-il? Nous lions toujours une chaîne à droite? –
Non .. Vous liez un objet contenant une chaîne. C'est la différence – Arcturus
je comprends maintenant. La liaison ne peut pas modifier la référence liée. Il ne peut que changer de propriétés. Cela a du sens maintenant. Merci beaucoup. –