WPF Datagrid:更新太频繁 - 选择丢失

Posted

技术标签:

【中文标题】WPF Datagrid:更新太频繁 - 选择丢失【英文标题】:WPF Datagrid: updated too often - selection gets lost 【发布时间】:2013-09-18 08:16:42 【问题描述】:

我有一个带有数据绑定到数据的 Datagrid。我实现了接口 INotifyPropertyChanged,效果很好。

我注意到的一件事是,当用户现在选择数据网格中的一行并更新数据时,选择会丢失。由于更新频繁发生,用户无法真正选择/更改某些内容。

我的第一种方法是将更新减少到最低限度 - 仍然至少每秒更新一次。所以每一秒都会丢失选择。

尽管有更新,有没有办法保持用户选择?大家是怎么处理的呢?

提前感谢您的任何意见!

【问题讨论】:

请发布一些示例代码。您可能还想看看这个问题***.com/questions/17825368/… 【参考方案1】:

处理这个问题的一般方法是创建一个与DataGrid 中的项目相同类型的私有字段,然后简单地将这个字段设置为SelectedRow 的值之前您更新,然后将DataGrid.SelectedRow 属性设置回刚刚更新后 的字段值。使用时,它会显示好像所选行保持选中状态...除非您的更新需要很长时间,在这种情况下,您应该在后台线程上进行。

【讨论】:

以上是关于WPF Datagrid:更新太频繁 - 选择丢失的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 WPF DataGrid 在项目更新时取消选择 SelectedItem?

急求WPF大牛! WPF 数据太多时,DataGrid中CheckBox列误选的问题!

在 DataTable 更改 WPF 后更新绑定到 DataTable 的 DataGrid

在 WPF 中为 DataGrid 缩小列的宽度

c# wpf datagrid 模板列修改某个单元格,更新所选行另一个单元格的值,如何做到呢?

wpf 当DataGrid列模版是ComboBox时,显示信息