我正在尋找一種正確的方式來自動更新綁定的數據網格「非醜陋的方式」。我有,我有綁定到數據表中一個DataGrid WPF應用程序:正確的方式來自動更新綁定的數據網格(非醜陋的方式)
MeasurementResultsDataGrid.ItemsSource = _main.CurrentMeasurement.MeasurementDataTable.AsDataView();
非常簡單!接下來是我使用的接口INotifyPropertyChanged
到模型與UI同步:
public event PropertyChangedEventHandler PropertyChanged;
public MeasurementDataSet.MeasurementDataTable MeasurementDataTable
{
get
{
return _measurementDataTable;
}
set
{
_measurementDataTable = value;
NotifyPropertyChanged("MeasurementDataTable");
}
}
private void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
一個線程添加新行到DataTable和任何給沒有錯誤。有點期待,當線程更新表時,DataGrid不會更新/「刷新」。做這個的最好方式是什麼?我寧可不使用單獨的計時器/線程來更新數據網格:datagrid.refresh(); & datagrid rebind ..
我在這方面搜索了很多,而且看起來我在正確的軌道上,但是錯過了我認爲的一些關鍵部分!
對於你的問題,這不是最好的方法。這與使用委託相同,我認爲'SynchronizationContext'自.NET 2.0起可用 – Bolu 2014-10-10 13:39:47