Проверка новых строк в Silverlight DataGrid - PullRequest
3 голосов
/ 06 октября 2010

Мы используем RIA Services / Silverlight 4, и я связываю сетку данных с чем-то вроде Context.Foo.

Я вижу ошибки проверки, появляющиеся в сводке проверки сетки данных, когда пользователи пытаются ввести пустые строки в обязательные поля и т. Д. Жизнь хороша.

Однако, когда я добавляю новый элемент, вызывая что-то вроде Context.Foo.Add (new Foo) в viewModel, новая строка появляется в сетке данных, но никогда не проверяется, пока пользователь не нажмет на ячейку.

Можно ли попросить DataGrid проверить все элементы?

1 Ответ

0 голосов
/ 06 октября 2010

Вместо того, чтобы просить DataGrid проверить строку для вас, вам нужно будет проверить сам объект, с которым связана новая строка.Вы можете использовать класс Validator, чтобы сделать это для вас.Например, если ваш объект назначен переменной с именем newRowObject, вы можете сделать следующее:

List<ValidationResult> validationResults = new List<ValidationResult>();
ValidationContext validationContext = new ValidationContext(newRowObject, null, null);
bool isValid = Validator.TryValidateObject(newRowObject, validationContext, validationResults, true);

Это должно достичь того, что вам нужно (я подчеркиваю следует , просто потому, что я сам не проверял это в примере до того, как написал это).

Надеюсь, это поможет ...

Крис

...