Проверка WPF «до» значения настройки или выдачи команды - PullRequest
0 голосов
/ 14 октября 2010

Привет,

Я относительно новичок в WPF, и у меня возникла проблема, связанная с проверкой с помощью элемента управления DataGrid. Я читал эту статью (http://msdn.microsoft.com/en-us/magazine/ff714593.aspx), которая охватывает три различных способа проверки, но ни один из них, похоже, не рассматривает, как предотвратить установку значения или вызвать команду отмены / повторения до выполнения всей проверки.

Я хочу убедиться, что в ячейки можно вводить только положительные числа. Я установил правило проверки, которое проверяет, содержит ли ячейка отрицательное число, и обрабатываю событие CellEditEnding объекта DataGrid, чтобы узнать, когда на самом деле нужно изменить число, используемое на уровне модели. Проблема в том, что CellEditEnding вызывается перед правилом проверки. К тому времени, когда правило проверки обнаружит проблему, номер в модели уже установлен. Что мне нужно, так это CellEditEnded, но, похоже, это событие существует только в версии DataGrid Silvelight.

Есть идеи?

Спасибо

1 Ответ

0 голосов
/ 21 июня 2011

Сетка данных сложная и довольно сложная. Я думаю, что в этом случае я мог бы попытаться изменить «установщик» для свойства, с которым это связано. Бросьте исключение, если пользователь вводит недопустимое значение. Сетка данных поддерживает отображение недопустимых ячеек с ошибкой проверки (красная граница), чтобы пользователь видел, какие ячейки / строки имеют проблемы.

Это не идеально, но это может сработать.

...