当其 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,这不需要TwoWay
。 ItemsSource
绑定通过引用工作,因此当添加/删除/编辑发生在可编辑的数据网格上时,更改会自动反映回源 observable 集合(尽管有绑定模式)。
是的,我将其更改为可观察集合,问题是我有一个 TemplateSelector,我的 DataGrid 的 DataGridTemplateColumn 不会更新,任何存在的东西更改后都不会调用 TemplateSelector。它仅在添加/删除后更新。以上是关于当其 ItemsSource 更改时自动刷新 Datagrid的主要内容,如果未能解决你的问题,请参考以下文章
修改 ItemsSource ObservableCollection 后如何刷新组合框
wpf中,当DataGrid.ItemsSource与ObservableCollection绑定后,值变化时,DataGrid如何刷新?
更改 DataGrid.ItemsSource 时如何引发事件