我在标题中有一个带有组合框的数据网格用作过滤器,我希望在标题组框中的相应列中包含所有不同的值。
因此,我认为我应该使用IValueConverter并将datagrid绑定到每个标头的同一个集合,只过滤掉正确的值并返回它们。
问题在于,值转换器仅在启动时访问一次,并且在集合更改时永远不会再次访问。
绑定集合是一个可观察的集合。
绑定到同一集合的datagrid项目会更新。
这是组合框的xaml
<ComboBox ItemsSource="{Binding Path=Issues, Converter={StaticResource DataGridFilterableValueConverter},ConverterParameter="Madeby"} SelectionChanged="FilterComboBox_SelectionChanged"/>
IValueConverter作为资源添加到窗口中。
我是否遗漏了有关IValueConverter的内容?它不应该像过滤器一样,每次需要获取值时都会运行集合吗?
我已经测试了IValueConverter几周了,而且我似乎永远不会让它在集合发生变化时不止一次运行。
我不知道是否还有其他任何我可以写的指向你的错误。
提前谢谢!
/埃里克
答案 0 :(得分:0)
当您通知Converter
财产时,将调用您的Issues
代码。因此,只要您向该集合添加/删除任何项目,请尝试通知Issue
属性。我认为它应该有用。