我知道,當即將顯示數據時,將調用Convert()
方法來轉換數據,並轉換顯示轉換後的數據。什麼時候ConvertBack方法被調用?
我想知道何時調用ConvertBack()
方法?它的目的是什麼?
我有DataGrid
其ItemSource
被綁定到一些集合,我已經實現了IValueConverter
集合中的項目的一個屬性。當我製作IsReadOnly="True"
(在DataGrid)時,如果雙擊單元格(爲其實現IValueConverter
)然後更改焦點,則會調用ConvertBack
方法。但是當我做IsReadOnly="False"
,那麼ConvertBack
方法永遠不會被調用,無論我如何處理DataGrid
及其單元格。
請解釋DataGrid
單元的這種行爲和ConvertBack
方法的IValueConverter
。
這就是所謂的綁定時的結合模式是雙向(對於TextBox.Text和可能是CheckBox.IsChecked默認模式)。如果你明確設置了OneWay,我想這個方法不會被調用。 – vorrtex 2011-03-23 13:16:22
我也有這個問題。如果我直接綁定到'DataTable',則源代碼將在'CellEditEnding'上更新。如果我綁定到一個不同類型的對象,並在綁定中使用轉換器將其轉換爲'DataTable',則''ConvertBack''永遠不會被調用。含義用戶編輯不會傳播到源代碼。我想知道是否需要派生自己的'DataTable'併爲其添加某種通知邏輯。如果我找到解決方案,將會發布。 – 2011-05-11 09:44:00