2015-01-11 6 views
0

Я использую современный интерфейс. Я не реализовал IDataErrorInfo на моей модели модели модели или любой модели представления, и все же я получаю ошибку проверки. А именно, когда я ввожу значение в текстовое поле, а затем удаляю его, я получаю ошибку: значение '' не может быть преобразовано. Кроме того, когда я помещаю точку прерывания в свойство, я нахожу, что он держится за старое значение. БлагодаряНе внедрять IDataErrorInfo и еще получать валидацию

ответ

0

догадка: Тип этого свойства является то ненулевое, как int или double или Color без ?/Nullable модификатора. Выражение Binding, используемое для привязки элемента управления, привязывается непосредственно к структуре данных и не содержит интеллектуального преобразователя и не имеет резервного значения, поэтому полностью не удается преобразовать пустую строку. Интерфейс пользовательского интерфейса обнаруживает проблему и сообщает об ошибке.

IDataErrorInfo может потребоваться реализовать, если вам нужны более сложные проверки, но это не означает, что никакая проверка и преобразование не происходит, когда вы ее не реализуете. Привязки все еще могут завершиться неудачно, так как некоторые преобразователи могут отображать или возвращать значение неправильного типа. Запустите приложение в режиме отладки и панели вывода наблюдателя. Бьюсь об заклад, вы увидите некоторые сообщения об ошибках операций привязки.

+0

Нет, Мое имущество имеет одинаковую силу. deciaml? –

+0

Я сделал, но ошибок привязки нет! –

+0

Хм .. хорошо, это совершенно странно. Пока, я не догадываюсь. Вероятно, вам придется отбросить код, изображающий ваш XAML, с привязками и базовыми структурами данных (тот, который находится в UI). – quetzalcoatl