C# · 12月 29, 2021

c# – ConvertBack方法什么时候被调用?

我知道当数据即将被显示时,调用Convert()方法来转换数据,而显示转换后的数据.

我想知道什么时候ConvertBack()方法被调用?它的目的是什么?

我有一个DataGrid的ItemSource绑定到一些集合,我已经为集合中的项目的一个属性实现了IValueConverter.当我使IsReadOnly =“True”(在DataGrid中)时,如果双击单元格(为其实现了IValueConverter),然后更改焦点,则调用ConvertBack方法.但是当我使IsReadOnly =“False”时,ConvertBack方法从不被调用,无论我使用DataGrid及其单元格.

请解释IValueConverter的DataGrid单元格和ConvertBack方法的这种行为.

解决方法 “数据绑定引擎在将绑定目标的值传播到绑定源时调用此方法.

见msdn

您应该使用贵重转换器发布您的单元格的绑定