当ItemsSource应用转换器时强制DataGrid更新

时间:2012-02-12 20:19:32

标签: wpf data-binding datagrid converter itemssource

ItemsSource:原始数据的ObservableCollection。 转换器:通过对ItemsSource应用复杂的非线性变换生成视图模型。转换器输出是一个简单的列表。

我知道设计是错误的,我应该使用NotifyPropertyChanged事件创建视图模型层,但这是一个快速原型的东西,我只是希望有一个简单的技巧来强制每当ItemsSource更新时DataGrid重新运行转换器。 / p>

2 个答案:

答案 0 :(得分:1)

您收藏的更改来自哪里 - 按钮?如果它只是一个原型,那么我会使用List,在它们之间放置一个CollectionView并调用CollectionView.Refresh()来刷新显式。

使用OnPropertyChanged(“数据”)的解决方案;看起来它可以循环。

答案 1 :(得分:0)

您可以在集合更改时触发属性级别更改通知,这会强制重新评估ItemsSource绑定。

//Data being the ObservableCollection
Data.CollectionChanged += (s,e) => OnPropertyChanged("Data");