Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Итоговые сведения об уведомлениях и наблюдаемых моделях
Применение интерфейсов
INotifyPropertyChangedObservableCollectionObservableCollectionINotifyPropertyChangedПроверка достоверности WPF
Теперь, когда интерфейс
INotifyPropertyChangedObservableCollectionПроверка достоверности происходит, когда привязка данных пытается обновить источник данных. В дополнение к встроенным проверкам, таким как исключения в блоках
setValidationНа заметку! В каждом разделе главы можно продолжить работу с проектом из предыдущего раздела или создать копию проекта, специально предназначенную для нового раздела. Всем последующим разделам соответствуют отдельные проекты, которые доступны в каталоге с кодом для настоящей главы внутри хранилища GitHub.
Модификация примера для демонстрации проверки достоверности
В каталоге для этой главы внутри хранилища GitHub новый проект (скопированный из предыдущего примера) называется
WpfValidationsКласс Validation
Прежде чем добавлять проверку достоверности в проект, важно понять назначение класса
ValidationValidation
Варианты проверки достоверности
Как упоминалось ранее, технологии XAML поддерживают несколько механизмов для встраивания логики проверки достоверности внутрь приложения. В последующих разделах рассматриваются три самых распространенных варианта проверки.
Уведомление по исключениям
Хотя исключения не должны использоваться для обеспечения выполнения бизнес-логики, они могут (и будут) возникать, а потому требуют надлежащей обработки. Если исключения не обработаны в коде, тогда пользователь должен получить визуальную обратную связь об имеющейся проблеме. В отличие от Windows Forms в инфраструктуре WPF исключения привязки (по умолчанию) не распространяются до пользователя как собственно исключения. Тем не менее, они указываются визуально с применением декоратора (визуального уровня, который находится над элементами управления).
Запустите приложение, выберите запись в элементе
ComboВохIdIdintintnullIdCarIdintsetSystem.Windows.Data Error: 7 : ConvertBack cannot convert value '' (type 'String').
BindingExpression:Path=Id; DataItem='Car' (HashCode=52579650); target element is
'TextBox' (Name=''); target property is 'Text' (type 'String') FormatException:'System.
FormatException: Input string was not in a correct format.
Ошибка System.Windows.Data: 7 : ConvertBack не может преобразовать (типа String).
BindingExpression : Path=Id; DataItem='Car' (HashCode=52579650);
целевой элемент - TextBox (Name=''); целевое свойство - Text
(типа String) FormatExceptionSystem.FormatException:
Входная строка не имела корректный формат.
Визуально исключение представляется с помощью тонкого прямоугольника красного цвета вокруг элемента управления (рис. 28.2).

Прямоугольник красного цвета — это свойство
ErrorTemplateValidationErrorTemplateИнтерфейс IDataErrorInfo
Интерфейс
IDataErrorInfoПохожие книги на "Язык программирования C#9 и платформа .NET5", Троелсен Эндрю
Троелсен Эндрю читать все книги автора по порядку
Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.