我有一个自定义<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方法查找在它的控制。如果你给你的用户控件的名称应该是正确的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top