我从CollectionViewSource填充DataGrid。每行都有一个删除按钮。 在删除时,我正在从数据库中删除一行。 我的问题是DataGrids的UI不会更新。 如何清除DataGrid中已删除的行?
有什么建议吗?
答案 0 :(得分:1)
确保底层集合从INotifyPropertyChanged接口实现,并在删除行时调用OnPropertyChanged。
ObservableCollection是一个实现INotifyPropertyChanged的colelction,所以考虑将其用作底层集合对象。
MSDN对CollectionViewSource
的评论CollectionViewSource是一个代理 CollectionView类或类 派生自CollectionView。 CollectionViewSource启用XAML代码 设置常用的 CollectionView属性,传递 这些设置到底层视图。 CollectionViewSource有一个View 保存实际视图的属性 和一个持有。的Source属性 来源集合。
您可以将集合视图视为 绑定源顶部的图层 允许您导航的集合 并显示基于的集合 排序,过滤和分组查询 无需操纵 底层源集合本身。 如果源集合实现 INotifyCollectionChanged 界面,由...引起的变化 CollectionChanged事件被传播 观点。
因为视图不会改变 每个基础源集合 源集合可以有多个 与之相关的观点。例如, 你可能有一个任务集合 对象。随着视图的使用,你 可以显示相同的数据 不同的方法。例如,关于 您可能想要的页面左侧 显示按优先级排序的任务 右侧,按地区分组。
有关更多信息,请参阅绑定 到数据中的集合部分 绑定概述。
答案 1 :(得分:1)
您还应该从CollectionViewSource中删除该行数据。或者再次从数据库中提取CollectionViewSource。
由于