当其 ItemsSource 更改时自动刷新 Datagrid

Posted

技术标签:

【中文标题】当其 ItemsSource 更改时自动刷新 Datagrid【英文标题】:Refresh Datagrid automatically when its ItemsSource changed 【发布时间】:2011-11-22 06:13:12 【问题描述】:

我在用户控件中使用数据网格。如何在不使用 DataGrid.Items.Refresh() 的情况下在其 ItemsSource 更改时自动刷新 Datagrid;

【问题讨论】:

如何将 ItemsSource 绑定到 DataGrid。带有绑定或代码隐藏的 MVVM...您应该提供更多信息,因为有多种方法。 【参考方案1】:

您需要做的是使用可观察的集合。

这是一个古老但有效的例子: http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx

【讨论】:

将 ItemsSource 绑定模式设置为 2way 没有意义。我认为你应该编辑你的答案 @Kaizen,这不需要TwoWayItemsSource 绑定通过引用工作,因此当添加/删除/编辑发生在可编辑的数据网格上时,更改会自动反映回源 observable 集合(尽管有绑定模式)。 是的,我将其更改为可观察集合,问题是我有一个 TemplateSelector,我的 DataGrid 的 DataGridTemplateColumn 不会更新,任何存在的东西更改后都不会调用 TemplateSelector。它仅在添加/删除后更新。

以上是关于当其 ItemsSource 更改时自动刷新 Datagrid的主要内容,如果未能解决你的问题,请参考以下文章

修改 ItemsSource ObservableCollection 后如何刷新组合框

wpf中,当DataGrid.ItemsSource与ObservableCollection绑定后,值变化时,DataGrid如何刷新?

更改 DataGrid.ItemsSource 时如何引发事件

为啥更改 ItemsSource 时 DataGrid 不更新?

属性更改后列表框不刷新

Xamarin iOS - XAML IsVisible 绑定在 ItemsSource 更改时不会更新