Когда вызывается метод ConvertBack? - PullRequest
11 голосов
/ 23 марта 2011

Я знаю, что когда данные должны быть отображены, вызывается метод Convert() для преобразования данных, и вместо них отображаются преобразованные данные.

Мне интересно, когда ConvertBack() метод вызывается? Какова его цель?

У меня есть DataGrid, ItemSource которого привязан к некоторой коллекции, и я реализовал IValueConverter для одного свойства элементов в коллекции. Когда я создаю IsReadOnly="True"DataGrid ), вызывается метод ConvertBack, если я дважды щелкаю ячейку (для которой реализован IValueConverter), а затем меняю фокус. Но когда я делаю IsReadOnly="False", метод ConvertBack никогда не вызывается, независимо от того, что я делаю с DataGrid и его ячейками.

Пожалуйста, объясните это поведение DataGrid клеток и ConvertBack метод IValueConverter.

1 Ответ

8 голосов
/ 23 марта 2011

"Механизм привязки данных вызывает этот метод, когда передает значение от цели привязки к источнику привязки."

см. msdn

, вы должны опубликовать свойпривязка для вашей ячейки с помощью valueconverter

...