我一直在研究如何在逐个单元格的基础上格式化WPF DataGrid中的内容。 This article提供了我发现的如何实现这一目标的最佳解释。
然而;我已经使用了前面提到的绑定示例并探讨了它是如何工作的,但是当你更改文本字段时,它不会触发显示数值的转换器来重新获取它们的值;反之亦然,当您更改数字字段时,它不会触发文本字段转换器重新获取其值,尽管使用CollectionViewSource
。
我还尝试使用实现ObservableCollection
的{{1}};这仍然只触发已更新的单元格的绑定,以重新获取其值而不是整行的值。
我知道INotifyPropertyChanged
将起作用并将导致所有列的绑定更新,但每次提交一个单元格值时都不需要这样做;它应该通过绑定来正确完成;同时调用Items.Refresh()
非常慢,并且执行了太多不必要的工作。
如果单元格的格式是使用转换器绑定的,该转换器使用对象而不仅仅是它所绑定的字段值(转换器返回的值因此可能会受到属性值的影响。除了单元格直接绑定的对象之外的对象)当任何单元格更改值时,如何让整行更新其绑定?