【发布时间】:2008-12-05 03:04:49
【问题描述】:
我有一个<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 的实例。
??
这类似于this question,但它从未得到正确回答,而且它也是 Silverlight 特有的,而这是 WPF。
【问题讨论】:
-
在有人建议之前, item2.Content 也只是返回字符串。 叹息
标签: wpf data-binding datatemplate itemscontrol contentpresenter