DataGridCheckBoxColumn обновляет источник и проверяется только после потери фокуса - PullRequest
0 голосов
/ 20 августа 2010

У меня проблема с DataGrid из WPFToolkit. Моя сетка имеет DataGridCheckBoxColumn. Когда я изменяю значение некоторой ячейки в этом столбце, проверка и обновление реального источника происходит только после того, как ячейка потеряла фокус. Таким образом, если я изменю значение флажка в ячейке и оставлю фокус внутри нее, свойство связанного объекта не изменится.

Свойство привязки столбца UpdateSourceTrigger установлено на PropertyChanged, а Mode установлено на TwoWay.

Как сделать привязку, чтобы обновить исходный объект сразу после изменения значения флажка?

1 Ответ

4 голосов
/ 20 августа 2010

Я не знаю, для версии инструментария, но с версией .net4 привязка работает, как и ожидалось.Проверьте объявление-привязку:

<DataGridCheckBoxColumn Binding="{Binding YourProperty,UpdateSourceTrigger=PropertyChanged}">

Если это специфическая проблема версии инструментария, создайте DataGridTemplateColumn, поместите CheckBox в шаблон ячейки или редактирования и объявите привязку на CheckBox -контроль.Это поможет.

<dg:DataGridTemplateColumn > 
       <dg:DataGridTemplateColumn.CellTemplate> 
             <DataTemplate> 
                    <CheckBox IsChecked="{Binding YourProperty,UpdateSourceTrigger=PropertyChanged}" /> 
             </DataTemplate> 
       </dg:DataGridTemplateColumn.CellTemplate> 
</dg:DataGridTemplateColumn> 
...