Sé que cuando los datos están a punto de mostrarse, se llama al método Convert()
para convertir los datos y se muestran los datos convertidos.¿Cuándo se llama al método ConvertBack?
Me pregunto cuándo se llama al método ConvertBack()
? ¿Cual es su propósito?
Tengo DataGrid
cuyo ItemSource
está vinculado a alguna colección, y he implementado IValueConverter
para una propiedad de los elementos de la colección. Cuando hago IsReadOnly="True"
(en el DataGrid), se llama al método ConvertBack
si hago doble clic en la celda (para la cual se implementó IValueConverter
) y luego cambio el foco. Pero cuando hago IsReadOnly="False"
, nunca se llama al método ConvertBack
, no importa lo que haga con el DataGrid
y sus celdas.
Explica este comportamiento de DataGrid
celdas y ConvertBack
método de IValueConverter
.
Se llama cuando el modo de unión es TwoWay (modo por defecto para TextBox.Text y probablemente para CheckBox.IsChecked). Si configura OneWay explícitamente, el método no se llamará, creo. – vorrtex
También estoy teniendo este problema. Si me enlace directamente a un 'DataTable', la fuente se actualiza en' CellEditEnding'. Si me sumo a un tipo diferente de objeto y uso un convertidor en el enlace para convertirlo en un 'DataTable' sobre la marcha' ConvertBack' nunca se llama. Es decir, las ediciones de usuario no se propagan a la fuente. Me pregunto si necesito derivar mi propia 'DataTable' y agregarle algún tipo de lógica de notificación. Publicaré si encuentro una solución. –