【发布时间】:2013-12-02 09:22:10
【问题描述】:
窗口中有一个 DataGrid,它绑定到一个 ObservableCollection,还有一个命令可以将项目列表添加到集合中。
我希望 DataGrid 可以在循环过程中逐行添加,但是现在它会在命令完成后向 DataGrid 添加一批项目。
<DataGrid ItemsSource="{Binding Path=InfoList}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1" Binding="{Binding Path=Field1}" />
<DataGridTextColumn Header="Column2" Binding="{Binding Path=Field2}" />
</DataGrid.Columns>
</DataGrid>
public class XXViewModel : INotifyPropertyChanged
{
private ObservableCollection<Info> infoList = new ObservableCollection<Info>();
public ObservableCollection<Info> InfoList
{
get{return infoList;}
}
private void XXCommand()
{
List<Info> list = this.GetList();
foreach(var item in list)
{
// the datagrid won't update or show this item immediately
this.InfoList.Add(item);
Thread.Sleep(1000);
}
}
}
【问题讨论】: