2012-02-06 12 views
0

當我動態地將值添加到與datagrid的ItemSource綁定的observable集合時,出現錯誤。如何在運行時將行添加到wpf應用程序中的數據網格?

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

從調度線程不同的線程改變其SourceCollection。

如何解決此問題?

問候,

蔡健雅

回答

0

您只需將項目添加到觀察集合。您的線程錯誤似乎是您嘗試在非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"})); 
    } 
+0

它不反映網格中的任何內容。 – Tanya 2012-02-07 14:15:40

相關問題