DataGridCheckBoxColumn непосредственная привязка

Я использую Инструментарий WPF Datagrid и имею один столбец, который является DataGridCheckBoxColumn, связанным с bool свойством на моем ViewModel.

Моя проблема состоит в том, что я wan't, свойство для получения это - значение, обновленное сразу, когда пользователь проверяет или снял флажок с флажком.

Теперь необходимо перейти далеко от ячейки, чтобы обновить свойство. Это - флажок. Это не может быть посреди редактирования как текстовое поле, может...

Любая справка ценилась бы.

/J

9
задан Johan Zell 29 March 2010 в 10:58
поделиться

2 ответа

Необходимо установить для свойства UpdateSourceTrigger привязки значение PropertyChanged. По умолчанию - LostFocus.

24
ответ дан 4 December 2019 в 06:55
поделиться

Решение состоит в том, чтобы НЕ использовать для этого DataGridCheckBoxColumn. Вместо этого используйте

<dg:DataGridTemplateColumn Width="20" Header="" SortMemberPath="IsSelected">
   <dg:DataGridTemplateColumn.CellTemplate>
      <DataTemplate>
         <CheckBox  IsChecked="{Binding Path=IsSelected}" />
       </DataTemplate>
   </dg:DataGridTemplateColumn.CellTemplate>
 </dg:DataGridTemplateColumn>

который по умолчанию имеет UpdateSourcerigger на PropertyChanged...

У DataGridCheckBoxColumn UpdateSourceTrigger установлен на Explicit, и его нельзя изменить. Подробнее читайте здесь: http://blogs.msdn.com/vinsibal/archive/2009/04/07/5-random-gotchas-with-the-wpf-datagrid.aspx

9
ответ дан 4 December 2019 в 06:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: