2009-08-19 2 views
0

Я работаю с DataGrid Toolkit WPF и в настоящее время имею проблему с передачей данных обратно в исходный код.Вкладка или снятие выделения ячейки, не передающей данные

Моя сетка привязана к списку объектов CLR, и у меня есть конвертер с реализованными методами конвертации и конвертации.

Двухсторонняя привязка отлично работает, если пользователь нажимает Enter в ячейках, но если они отменили выбор или вышли из ячеек, данные, которые были напечатаны, будут потеряны.

Я поместил перерыв в событии CellEditEnding, и оба события для Tab и Enter кажутся одинаковыми, но когда он доберется до метода ConvertBack на моем конверторе, значение пусто.

Любая помощь будет высоко оценена.

ответ

1

Попробуйте изменить параметр UpdateSourceTrigger привязки вашего элемента управления к PropertyChanged вместо установленного по умолчанию LostFocus.

Например

  <TextBox 
      Width="75" 
      VerticalAlignment="Top" 
      Margin="10" 
      Text="{Binding 
      Source={StaticResource data}, 
      Path=Age, 
      UpdateSourceTrigger=PropertyChanged, 
      ValidatesOnDataErrors=True, 
      ValidatesOnExceptions=True}" 
      Style="{StaticResource textBoxInError}" /> 
+0

Это работало отлично ... Очевидно, в настоящее время эвенов изменяются при каждом нажатии клавиши, которая прекрасно работает в настоящее время. Но это, очевидно, не позволяет набирать что-то ... а затем Escaped для отмены (например, IEditableObject). – Oliver

Смежные вопросы