私の ItemControl は、ItemsSource を介して ObservableCollection<...> にバインドされています。コレクションを埋めるとき、プログラムは適切な ItemTemplate オブジェクトを作成し、それらを ItemsControl にレンダリングするために、ある程度の (少しですが、まだある程度の) 時間を必要とします。私のItemsControlがItemsSourceを介してバインドされたコレクションの作成(レンダリング、表示)を終了した場合、知る方法はありますか? 助けてください。私は本当にこの答えが必要です。ObservableCollection を埋めた直後に、このコレクションのオブジェクトに取り組みたいと思います。残念ながら、一部の情報が失われています。ItemsControl はまだアイテム (ItemTemplates) を作成しているためです。
* EDIT 理解を深めるために: ObservableCollection<...> MyCollection は MyItemsControl の ItemsSource にバインドされます。
私はコードを実行します:
for(int i = 0; i < ...; i++)
{
MyCollection.Add(MyItem);
}
// await Task.Delay(100) // If this line is not commented, everything works fine...
// ..but I don't think it's a good idea to solve that problem in this way.
foreach(Object o in MyCollection)
{
// The line under, is faster that the ItemsControl rendering...
// ...so the Work is not displayed.
o.DoSomeWorkThatShouldBeDisplayedInItemTemplateOfMyItemsControl
}
*編集 2 解決済み: LayoutUpdated イベント