Я использую современный интерфейс. Я не реализовал IDataErrorInfo на моей модели модели модели или любой модели представления, и все же я получаю ошибку проверки. А именно, когда я ввожу значение в текстовое поле, а затем удаляю его, я получаю ошибку: значение '' не может быть преобразовано. Кроме того, когда я помещаю точку прерывания в свойство, я нахожу, что он держится за старое значение. БлагодаряНе внедрять IDataErrorInfo и еще получать валидацию
ответ
догадка: Тип этого свойства является то ненулевое, как int
или double
или Color
без ?/Nullable
модификатора. Выражение Binding, используемое для привязки элемента управления, привязывается непосредственно к структуре данных и не содержит интеллектуального преобразователя и не имеет резервного значения, поэтому полностью не удается преобразовать пустую строку. Интерфейс пользовательского интерфейса обнаруживает проблему и сообщает об ошибке.
IDataErrorInfo может потребоваться реализовать, если вам нужны более сложные проверки, но это не означает, что никакая проверка и преобразование не происходит, когда вы ее не реализуете. Привязки все еще могут завершиться неудачно, так как некоторые преобразователи могут отображать или возвращать значение неправильного типа. Запустите приложение в режиме отладки и панели вывода наблюдателя. Бьюсь об заклад, вы увидите некоторые сообщения об ошибках операций привязки.
Нет, Мое имущество имеет одинаковую силу. deciaml? –
Я сделал, но ошибок привязки нет! –
Хм .. хорошо, это совершенно странно. Пока, я не догадываюсь. Вероятно, вам придется отбросить код, изображающий ваш XAML, с привязками и базовыми структурами данных (тот, который находится в UI). – quetzalcoatl