【发布时间】:2015-01-11 21:24:14
【问题描述】:
我有一个填充了“可验证对象”的 DataGrid。一个对象的验证大约需要 150 毫秒。
一行如下所示:
如果我验证一个对象,它可以是有效的也可以是无效的:
我可以验证 DataGrid 中的所有对象。 目前我在验证所有对象后刷新数据网格 gui(数据网格在验证期间被禁用)。但是,如果数据网格充满了数千个对象,则可能需要几分钟,但用户应该会看到进度。我的想法:每次验证后刷新数据网格。但是刷新需要很长时间(比如 100-300 毫秒)......如果我的数据网格中有 500 个对象,它必须刷新 500 次,并且在刷新期间应用程序 GUI 冻结......基本上 gui 在验证期间永久冻结
有没有办法只刷新一行?或者:是否可以异步刷新数据网格? 我不在乎数据网格是否冻结(无论如何它已被禁用),但应用程序不应该冻结。
编辑:我正在使用 DataBinding 到 ObservableCollection。每次验证后,我都会触发 PropertyChanged 事件 (INotifyPropertyChanged)。虽然每次验证后都不会更新...
【问题讨论】:
标签: c# wpf asynchronous datagrid refresh