我在这里遇到一个场景。
我有一个主类,用于初始化在wpf应用程序的MainWindow中添加的DataGrid。有一个线程类,其中DataTable对象由ref传递,该线程负责更新DataTable。随着线程运行,DataTable会更新,但视图不会更新。
但是,当我通过TimeTicker初始化DataSet的主类中的DataTable中更新/添加行时,不仅通过以后的线程添加的数据在视图中更新,而且还在timeticker方法中添加的数据是无关紧要的。
Abdul Khaliq
答案 0 :(得分:2)
你提到你有另一个线程(我认为这与UI线程不同)更新DataTable。这听起来不对,因为应该在UI线程上更新DataGrid。我会尝试确保您通过下面的内容更新UI线程上的网格。如果没有看到您的代码,这是我最好的猜测。
if (Dispatcher.CheckAccess())
{
// already on UI thread
UpdateDataGrid();
}
else
{
// run UpdateDataGrid on UI thread
Dispatcher.BeginInvoke(new YourDelegate(UpdateDataGrid), null);
}
答案 1 :(得分:2)
实现DG需要刷新,就像gd.items.refresh()解决了这个问题。