Событие редактирования ячейки сетки данных Silverlight - PullRequest
1 голос
/ 01 сентября 2009

У меня есть столбец флажка, связанный со свойством зависимости. Можно ли при редактировании отмеченного свойства обновлять связанное свойство немедленно, а не ждать, пока ячейка потеряет фокус?

Спасибо, Mark

Ответы [ 2 ]

4 голосов
/ 25 сентября 2009

вы можете посмотреть здесь , есть решение (перейти к: 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;
    }
}
0 голосов
/ 29 сентября 2009

Вы можете попытаться обработать события OnKeyDown и OnKeyUp, но вам придется самостоятельно обновить связанное свойство.

...