Проверьте состояние ошибки WPF DataGrid - PullRequest
0 голосов
/ 16 августа 2011

У меня есть сетка данных, привязанная к коллекции деталей.Одним из свойств Part является Количество, целое число, и одно из текстовых полей в сетке данных привязано к этому количественному полю.Когда пользователь вводит некоторые данные мусора в это поле (любое нецелое число), проверка начинается, поле подсвечивается красным и появляется сообщение об ошибке строки.Когда сетка данных находится в этом состоянии, я хочу, чтобы кнопка «Сохранить» была отключена, но я не могу найти какой-либо способ получить эту информацию.Validation.GetHasError в codebehind возвращает false, а в поле количества отображается 0 в моей модели представления.Как я могу это сделать?

1 Ответ

0 голосов
/ 16 августа 2011

Я использую свойства обертки и IDataErrorInfo в моей модели для таких случаев. если у вас есть целочисленное свойство и wpf не может преобразовать ввод в целое число - вы получите исключение BindingErrorException, и оно никогда не попадет в модель представления.

public string MyQuantity {get ... set ...}

затем вы можете легко использовать свой метод CanSaveCommandExecute, чтобы проверить свойство Error IDataErroInfo в вашей модели представления. Преимущество этого в том, что у вас есть вся информация и контроль в вашей модели представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...