如何从一个数据绑定ItemsControl中得到模板项的实例? (WPF)
-
19-08-2019 - |
题
我有一个自定义<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。
解决方案
我已经张贴在这里回答,提供针对一个元素优惠一个DataTemplate内,但它应该提供你所需要的代码。它涉及到使用您的DataTemplate的FindName方法查找在它的控制。如果你给你的用户控件的名称应该是正确的。
不隶属于 StackOverflow