2009-11-12 103 views
2

我在這裏面臨一個場景。WPF DataGrid更新問題

我有一個主類,它初始化在WPF應用程序的MainWindow中添加的DataGrid。有一個線程類,其中DataTable對象由ref傳遞,該線程負責更新DataTable。當線程運行時,DataTable會被更新,但是視圖不會被更新。

但是,當我更新/添加數據表中的DataTable DataSet的初始化通過TimeTicker的主類中的行不僅通過後來的線程數據添加視圖更新,而且在timeticker方法中添加的數據是無關緊要的。

阿卜杜勒·哈利克

+2

你可以發表一些代碼。 – ChrisF 2009-11-12 15:05:54

回答

2

執行DG需要刷新像gd.items.refresh()解決了這個問題。

+0

我希望我可以upvote另一個,我期待這個確切的問答! – Shimmy 2009-12-01 11:26:52

2

你提到你有另一個線程(我想這是不是UI線程不同)更新數據表。這聽起來不對,因爲DataGrid應該在UI線程上更新。我試圖確保你通過下面的東西來更新UI線程上的網格。這是我最好的猜測,沒有看到你的代碼。

if (Dispatcher.CheckAccess()) 
{ 
    // already on UI thread 
    UpdateDataGrid(); 
} 
else 
{ 
    // run UpdateDataGrid on UI thread 
    Dispatcher.BeginInvoke(new YourDelegate(UpdateDataGrid), null); 
}