0

似乎需要一些时间才能将数据模板设置到新创建的项目中。这类似于如何在 ItemsControl 中检索项目的 DataTemplate(和特定对象)?但这也不能提供令人满意的答案。

var newIndex = this.Items.Add(new object()); // new "data"
var newContainer = (ContentPresenter) this.ItemContainerGenerator.ContainerFromIndex(newIndex);
var uiElem = newContainer.FindName("txt");

对 findname 的调用将返回 null,因此 VisualTreeHelper.GetChildrenCount = 0。如果我给它一些时间,则模板已绑定并且一切正常,但这是不确定的。有谁知道强制模板立即绑定的事件或方法?

谢谢

4

1 回答 1

0

应用程序可以调用ApplyTemplate()来保证元素的可视化树是完整的。如果代码将检查树中的子元素,则可能需要此保证步骤。

于 2012-10-31T08:13:26.443 回答