在 "for" 循环中添加项目时,如何立即通知 DataGrid 绑定到 ObservableCollection?

How notify DataGrid binded to ObservableCollection immediately when item is added inside "for" loop?

假设我有这个数据网格:

<DataGrid x:Name="MyGrid" AutoGenerateColumns="True" ItemsSource="{Binding MyObservableList}"></DataGrid>

假设我有这个循环:

for (int i = 0; i < 10; i++)
{
  MyObservableList.Add(i.ToString());
  Console.WriteLine(i.ToString());
  Thread.Sleep(500);
}

是否可以在插入项目后立即更改 wpf 列表?像“Console.Write”代码?我尝试了很多东西,比如实现“CollectionChanged”或“INotifyPropertyChanged”,但它们只在循环结束时更新DataGrid。注意:objective 是在循环过程中从 ObservableCollection 更新 DataGrid。任何具有任何类型的可观察列表的示例都可以。

不要在 UI 线程上休眠,因为它会阻止它更新 UI。使用任务异步等待:

for (int i = 0; i < 10; i++)
{
    MyObservableList.Add(i.ToString());
    Console.WriteLine(i.ToString());
    await Task.Delay(500);
}