2

我在这里面临一个场景。

我有一个主类,它初始化在 wpf 应用程序的 MainWindow 中添加的 DataGrid。有一个线程类,其中 DataTable 对象由 ref 传递,该线程负责更新 DataTable。随着线程运行,DataTable 得到更新,但视图没有得到更新。

但是,当我在通过 TimeTicker 初始化 DataSet 的主类中的 DataTable 中更新/添加行时,不仅通过稍后的线程添加的数据在视图中更新,而且在 timeticker 方法中添加的数据也是不相关的。

阿卜杜勒哈利克

4

2 回答 2

2

您提到您有另一个线程(我认为这与 UI 线程不同)更新 DataTable。这听起来不对,因为 DataGrid 应该在 UI 线程上更新。我会尝试确保您通过以下方式更新 UI 线程上的网格。这是我最好的猜测,没有看到你的代码。

if (Dispatcher.CheckAccess())
{
    // already on UI thread
    UpdateDataGrid();
}
else
{
    // run UpdateDataGrid on UI thread
    Dispatcher.BeginInvoke(new YourDelegate(UpdateDataGrid), null);
}
于 2009-11-12T15:17:06.350 回答
2

实际上 DG 需要像 gd.items.refresh() 一样刷新才能解决问题。

于 2009-11-16T13:06:14.707 回答