2009-11-12 104 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); 
}