J'ai un <ItemsControl>
avec un <DataTemplate>
personnalisé (et aussi un <ItemsPanelTemplate>
personnalisé qui est juste un WrapPanel
), lié par ItemsSource
à une collection observable simple de chaînes.Comment puis-je obtenir l'instance d'un élément basé sur un modèle à partir d'ItemsControl de base de données? (WPF)
Le DataTemplate
consiste simplement en une instance d'un UserControl
personnalisé dont les propriétés sont liées à la chaîne via {Binding}
. Le problème est que mes éléments de données ne sont que des chaînes, j'ai besoin d'accéder directement aux instances de mon UserControl
par programmation, mais je n'arrive pas à comprendre comment!
J'ai essayé:
var item = tagBar.Items[ tagBar.Items.Count - 1 ];
... mais renvoie simplement la chaîne. Aussi:
var item2 = tagBar.ItemContainerGenerator.ContainerFromIndex(tagBar.Items.Count - 1);
... retourne un ContentPresenter
, et je ne peux pas comprendre ce qu'il faut faire avec le ContentPresenter
pour se rendre à l'instance de mon UserControl
.
??
Ceci est similaire à this question, mais il n'a jamais été correctement répondu, et était également spécifique à Silverlight alors que c'est WPF.
Avant que quelqu'un ne le suggère, item2.Content renvoie juste la chaîne aussi. * soupir * – devios1