似乎需要一些时间才能将数据模板设置到新创建的项目中。这类似于如何在 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。如果我给它一些时间,则模板已绑定并且一切正常,但这是不确定的。有谁知道强制模板立即绑定的事件或方法?
谢谢