ItemsSource:原始数据的ObservableCollection。 转换器:通过对ItemsSource应用复杂的非线性变换生成视图模型。转换器输出是一个简单的列表。
我知道设计是错误的,我应该使用NotifyPropertyChanged事件创建视图模型层,但这是一个快速原型的东西,我只是希望有一个简单的技巧来强制每当ItemsSource更新时DataGrid重新运行转换器。 / p>
答案 0 :(得分:1)
您收藏的更改来自哪里 - 按钮?如果它只是一个原型,那么我会使用List,在它们之间放置一个CollectionView并调用CollectionView.Refresh()来刷新显式。
使用OnPropertyChanged(“数据”)的解决方案;看起来它可以循环。
答案 1 :(得分:0)
您可以在集合更改时触发属性级别更改通知,这会强制重新评估ItemsSource
绑定。
即
//Data being the ObservableCollection
Data.CollectionChanged += (s,e) => OnPropertyChanged("Data");