C# IValueConverter未拾取绑定集合中的更改

C# IValueConverter未拾取绑定集合中的更改,c#,wpf,xaml,datagrid,C#,Wpf,Xaml,Datagrid,我有一个datagrid,在标题中有组合框用作过滤器,我希望在标题组合框的相应列中有所有不同的值 因此,我认为我应该使用一个IValueConverter并将datagrid拥有的相同集合绑定到每个标头,然后过滤出正确的值并返回它们 问题在于,值转换器仅在启动时访问一次,即使集合发生更改,也不会再次访问 绑定集合是一个可观察集合 绑定到同一集合的datagrid项将更新 这是组合框的xaml <ComboBox ItemsSource="{Binding Path=Issues, Con

我有一个datagrid,在标题中有组合框用作过滤器,我希望在标题组合框的相应列中有所有不同的值

因此,我认为我应该使用一个IValueConverter并将datagrid拥有的相同集合绑定到每个标头,然后过滤出正确的值并返回它们

问题在于,值转换器仅在启动时访问一次,即使集合发生更改,也不会再次访问

绑定集合是一个可观察集合

绑定到同一集合的datagrid项将更新

这是组合框的xaml

 <ComboBox ItemsSource="{Binding Path=Issues, Converter={StaticResource DataGridFilterableValueConverter},ConverterParameter="Madeby"} SelectionChanged="FilterComboBox_SelectionChanged"/>

当您通知
问题
属性时,将调用您的
转换器
代码。因此,无论何时向该集合添加/删除任何项,请尝试通知
Issue
属性。我认为它应该会起作用。

这种方法不会起作用,因为绑定集合中的更改会触发一个
INotifyCollectionChanged.CollectionChanged
事件,该事件不会触发对
问题
属性的绑定(将由
INotifyPropertyChanged.PropertyChanged
事件触发)。你可能想看看关于MSDN的文章。好的,这有意义吗?当集合更改时,datagrid上的itemssource会收到通知,但IValueConverter不会收到通知?无论如何,我钩住了集合的collectionchanged事件,并在集合发生更改且正常工作时引发了该属性的propertychanged事件。谢谢是的,太好了。但是我不喜欢这样的逻辑:为什么当集合像普通绑定一样更改时,它不被调用?这里我们使用
converter
Issues
属性,因此可以肯定的是
converter
将在每次
Issues
属性更改时被调用,并将得到通知。但是由于
Issues
属性是集合类型,因此在添加/删除任何项时,它不会更改
Issues
属性。这就是为什么它没有被通知,也没有调用
Converter