当我动态地将值添加到与datagrid的ItemSource绑定的observable集合时,我遇到了错误。
_Items.Add(new GridViewItem() {Name="Test1",ID=1});
Error:This type of CollectionView does not support
从与Dispatcher线程不同的线程更改其SourceCollection。
如何解决这个问题?
此致
丹娘
答案 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"}));
}