DataGridCheckBoxColumn立即绑定

Joh*_*ell 9 wpf checkbox datagrid

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

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

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

任何帮助,将不胜感激.

/ J

Tim*_*res 24

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

  • +1,这对`DataGridCheckBoxColumn`很有用,应标记为已接受 (2认同)

Joh*_*ell 9

解决方案是不要使用DataGridCheckBoxColumn.而是使用

<dg:DataGridTemplateColumn Width="20" Header="" SortMemberPath="IsSelected">
   <dg:DataGridTemplateColumn.CellTemplate>
      <DataTemplate>
         <CheckBox  IsChecked="{Binding Path=IsSelected}" />
       </DataTemplate>
   </dg:DataGridTemplateColumn.CellTemplate>
 </dg:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

默认情况下将UpdateSourcerigger更改为PropertyChanged ...

DataGridCheckBoxColumn将UpdateSourceTrigger设置为Explicit,无法更改.在这里阅读更多内容:http://blogs.msdn.com/vinsibal/archive/2009/04/07/5-random-gotchas-with-the-wpf-datagrid.aspx

  • 不,它不违约.您必须手动设置它,即"UpdateSourceTrigger = PropertyChanged".否则,您只能直观地进行更改(VS2010).无论如何,非常感谢你的帮助. (4认同)