如何在运行时将行添加到wpf应用程序中的数据网格?

时间:2012-02-06 06:41:44

标签: c# wpf mvvm

当我动态地将值添加到与datagrid的ItemSource绑定的observable集合时,我遇到了错误。

 _Items.Add(new GridViewItem() {Name="Test1",ID=1});
Error:This type of CollectionView does not support 
     

从与Dispatcher线程不同的线程更改其SourceCollection。

如何解决这个问题?

此致

丹娘

1 个答案:

答案 0 :(得分:0)

您只需将Item添加到Observable Collection即可。您的线程错误似乎是您尝试在非ui线程中添加项目。所以你必须使用调度员

  public ObsrevableCollection<MyTestItem> MyCollection {get; set;}


  <DatagGrid ItemsSource="{Binding MyCollection}" />


  public void Add()//is called from a not ui thread
  {
      Application.Current.Dispatcher.BeginInvoke((Action)(()=>this.MyCollection.Add(new MyTestItem(){ID=1, Name="Test1"}));
  }