我有<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
来访问{{1}}的实例。
...
这类似于this question,但它从未得到正确回答,并且也特定于Silverlight,而这是WPF。
答案 0 :(得分:2)
我发布的答案over here涉及将一个元素集中在DataTemplate中,但它应该提供您需要的代码。它涉及在DataTemplate上使用FindName方法来查找其中的控件。如果你给UserControl一个名字,你应该是对的。