2012-11-12 78 views
0

我有一個DataGrid這樣的:動態更新的DataGrid行

class SearchFile 
    { 
     public string path { set; get; } 
     public int count { set; get; } 
    } 

    //... 

     files = new List<SearchFile>(); 

     DataGridTextColumn col1 = new DataGridTextColumn(); 
     DataGridTextColumn col2 = new DataGridTextColumn(); 
     col1.Header = "File"; 
     col2.Header = "count"; 
     col1.Binding = new Binding("path"); 
     col2.Binding = new Binding("count"); 
     dataGrid1.Columns.Add(col1); 
     dataGrid1.Columns.Add(col2); 

我這樣做是爲了填充物品來源:

  foreach(var file in allFiles) 
      { 
       SearchFile sf = new SearchFile() { path=file, count=c }; 
       files.Add(sf); 
      } 

以上是將要推出的事件處理程序的一部分多次。我在哪裏綁定filesItemsSource屬性,以便它動態更新?我試圖把它放在foreach循環之後,但只有第一次運行有效,並且網格在隨後的運行中不會改變(當allFiles不同時)。

回答

1

使用ObservableCollection。它提供通知,當物品被添加,刪除或整個清單刷新時:

files = new ObservableCollection<SearchFile>();