DataGridCheckBoxColumn немедленное связывание - PullRequest
9 голосов
/ 29 марта 2010

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

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

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

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

/ J

Ответы [ 3 ]

23 голосов
/ 29 марта 2010

Вы должны установить свойство UpdateSourceTrigger привязки к PropertyChanged.По умолчанию используется LostFocus.

9 голосов
/ 29 марта 2010

Решение - НЕ использовать 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, установленный на Явное, и его нельзя изменить. Подробнее здесь: http://blogs.msdn.com/vinsibal/archive/2009/04/07/5-random-gotchas-with-the-wpf-datagrid.aspx

0 голосов
/ 16 января 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...