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 に答える