-1

我的 ItemControl 通过 ItemsSource 绑定到 ObservableCollection<...>。当我填充集合时,程序需要一些(一点,但仍然需要一些)时间来创建正确的 ItemTemplate 对象并将它们呈现在我的 ItemsControl 中。如果我的 ItemsControl 已经结束创建(渲染、显示)通过 ItemsSource 绑定的集合,有什么方法可以知道吗?请帮忙。我真的很需要这个答案。在填充 ObservableCollection 之后,我想处理这个集合的对象。不幸的是,一些信息正在丢失,因为 ItemsControl 仍在创建它的项目(ItemTemplates)。

*编辑 为了更好地理解: 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 事件

4

2 回答 2

0

我知道了。LayoutUpdated 事件是我需要的。在另一个论坛上找到,但希望将来能帮助某人。

于 2012-11-19T13:08:03.383 回答
-1

尝试System.Windows.Forms.Application.DoEvents();

于 2012-11-19T01:13:09.940 回答