У меня есть <ItemsControl>
с пользовательским <DataTemplate>
(а также с пользовательским <ItemsPanelTemplate>
, который является просто WrapPanel
), связанным через ItemsSource
с простым наблюдаемым набором строк.
DataTemplate
состоит просто из экземпляра пользовательского UserControl
, свойства которого связаны со строкой через {Binding}
.
Проблема в том, что мои элементы данных - это просто строки, мне нужно получить доступ к экземплярам моего UserControl
напрямую программно, но я не могу понять, как!
Я пробовал:
var item = tagBar.Items[ tagBar.Items.Count - 1 ];
... но это просто возвращает строку. Кроме того:
var item2 = tagBar.ItemContainerGenerator.ContainerFromIndex( tagBar.Items.Count - 1 );
... возвращает ContentPresenter
, и я не могу понять, что делать с ContentPresenter
, чтобы добраться до экземпляра моего UserControl
.
??
Это похоже на этот вопрос , но на него никогда не отвечали должным образом, и оно также относилось к Silverlight, тогда как это WPF.