我有一个绑定到依赖项属性的复选框列。编辑checked属性是否可以立即更新绑定属性而不是等待单元格失去焦点?
谢谢, 标记
答案 0 :(得分:4)
你可以查看here,有一个解决方案(转到:Creating an AutoCommitCheckBoxColumn
)
来自DataGridCheckBoxColumn
&处理checkBox_Checked
& checkBox_Unchecked
事件。
public class AutoCommitCheckBoxColumn : DataGridCheckBoxColumn
{
private void checkBox_Unchecked(object sender, RoutedEventArgs e)
{
CommitCellEdit((FrameworkElement)sender);
}
private void checkBox_Checked(object sender, RoutedEventArgs e)
{
CommitCellEdit((FrameworkElement)sender);
}
protected override FrameworkElement GenerateEditingElement(
DataGridCell cell, object dataItem)
{
var checkBox = (CheckBox)base.GenerateEditingElement(cell, dataItem);
checkBox.Checked += checkBox_Checked;
checkBox.Unchecked += checkBox_Unchecked;
return checkBox;
}
}
答案 1 :(得分:0)
您可以尝试处理OnKeyDown和OnKeyUp事件,但您必须自己更新绑定属性。