I have an <ItemsControl> with a custom <DataTemplate> (and also a custom <ItemsPanelTemplate> that is just a WrapPanel), bound via ItemsSource to a simple observable collection of strings.
The DataTemplate consists simply of an instance of a custom UserControl whose properties are bound to the string via {Binding}.
The problem is since my data items are just strings, I need to access the instances of my UserControl directly programmatically, but I can't seem to figure out how!
I've tried:
var item = tagBar.Items[ tagBar.Items.Count - 1 ];
...but that just returns the string. Also:
var item2 = tagBar.ItemContainerGenerator.ContainerFromIndex( tagBar.Items.Count - 1 );
...returns a ContentPresenter, and I can't figure out what to do with the ContentPresenter to get to the instance of my UserControl.
??
This is similar to this question, but it was never properly answered, and was also specific to Silverlight whereas this is WPF.