Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF数据网格更新问题_Wpf_Datagrid_Wpfdatagrid - Fatal编程技术网

WPF数据网格更新问题

WPF数据网格更新问题,wpf,datagrid,wpfdatagrid,Wpf,Datagrid,Wpfdatagrid,我在这里面临着一种情况 我有一个主类,它初始化wpf应用程序主窗口中添加的DataGrid。有一个线程类,其中DataTable对象由ref传递,该线程负责更新DataTable。线程运行时,数据表会更新,但视图不会更新 但是,当我在主类中更新/添加DataTable中的行时,数据集通过TimeTicker初始化,不仅通过later线程添加的数据在视图中更新,而且在TimeTicker方法中添加的数据也会更新,这是不相关的 Abdul Khaliq您提到您有另一个线程(我认为这与UI线程不同)更

我在这里面临着一种情况

我有一个主类,它初始化wpf应用程序主窗口中添加的DataGrid。有一个线程类,其中DataTable对象由ref传递,该线程负责更新DataTable。线程运行时,数据表会更新,但视图不会更新

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


Abdul Khaliq

您提到您有另一个线程(我认为这与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);
}

实际上,所有DG都需要像gd一样刷新。items.refresh()解决了这个问题。

我希望我能更新另一个DG,我寻找的正是这个Q&A!