Wpf跨线程未显示DataGrid值
本文关键字:DataGrid 显示 线程 Wpf | 更新日期: 2023-09-27 18:29:52
这是我的代码:
public void AddToGrid(string value)
{
MessageBox.Show(value); //Message is showing with correct value
dgrComponentList.Dispatcher.Invoke(new AddToGridDelegate(AddToGridSolid), System.Windows.Threading.DispatcherPriority.Normal, value);
}
private delegate void AddToGridDelegate(string value);
private void AddToGridSolid(string value)
{
((List<object>)this.dgrComponentList.ItemsSource).Add(new { ComponentName = value });
}
当我从线程调用AddToGrid方法时,这不起作用。但如果我打电话给,没有线程
((List<object>)this.dgrComponentList.ItemsSource).Add(new { ComponentName = value });
它工作得很好。我哪里做错了?
感谢
编辑:我刚刚发现,值存储在那里,但不知何故,它没有显示在网格中。
网格不知道有新对象添加到集合中。要么实现inotify集合更改,要么使用可观察的集合来存储对象。