DataGridCheckBoxColumn立即绑定

时间:2010-03-29 10:58:23

标签: wpf datagrid checkbox

我正在使用WPF Toolkit Datagrid并且有一列是DataGridCheckBoxColumn绑定到我的ViewModel上的bool属性。

我的问题是,当用户选中或取消选中复选框时,我不想立即更新它的值。

现在您必须离开单元格才能更新属性。这是一个复选框。它不能像文本框一样处于编辑的中间......

任何帮助都将不胜感激。

/ J

3 个答案:

答案 0 :(得分:23)

您必须将Binding的UpdateSourceTrigger属性设置为PropertyChanged。默认值为LostFocus。

答案 1 :(得分:9)

解决方案是不要使用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

答案 2 :(得分:0)