我正在使用WPF Toolkit Datagrid并且有一列是DataGridCheckBoxColumn绑定到我的ViewModel上的bool属性。
我的问题是,当用户选中或取消选中复选框时,我不想立即更新它的值。
现在您必须离开单元格才能更新属性。这是一个复选框。它不能像文本框一样处于编辑的中间......
任何帮助都将不胜感激。
/ J
答案 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)