Silverlight数据网格单元格编辑事件

时间:2009-09-01 12:41:15

标签: silverlight-3.0 datagrid binding

我有一个绑定到依赖项属性的复选框列。编辑checked属性是否可以立即更新绑定属性而不是等待单元格失去焦点?

谢谢, 标记

2 个答案:

答案 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事件,但您必须自己更新绑定属性。