Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Страница 21

    Программное инспектирование визуального дерева

    Программное инспектирование стандартного шаблона элемента управления

   Построение шаблона элемента управления с помощью инфраструктуры триггеров

    Шаблоны как ресурсы

    Встраивание визуальных подсказок с использованием триггеров

    Роль расширения разметки {TemplateBinding}

    Роль класса ContentPresenter

    Встраивание шаблонов в стили

   Резюме

  Глава 28

   Введение в паттерн MWM

    Модель

    Представление

    Модель представления

    Анемичные модели или анемичные модели представлений

   Система уведомлений привязки WPF

    Наблюдаемые модели и коллекции

    Добавление привязок и данных

    Изменение данных об автомобиле в коде

    Наблюдаемые модели

     Использование операции nameof

     Наблюдаемые коллекции

     Использование класса ObservableCollection<T>

     Реализация флага изменения

     Обновление источника через взаимодействие с пользовательским интерфейсом

    Итоговые сведения об уведомлениях и наблюдаемых моделях

   Проверка достоверности WPF

    Модификация примера для демонстрации проверки достоверности

    Класс Validation

    Варианты проверки достоверности

     Уведомление по исключениям

     Интерфейс IDataErrorInfo

     Интерфейс INotifyDataErrorInfo

     Реализация поддерживающего кода

     Использование интерфейса INotifyDataErrorInfo для проверки достоверности

     Комбинирование IDataErrorInfo С INotifyDataErrorInfo для проверки достоверности

     Отображение всех ошибок

     Перемещение поддерживающего кода в базовый класс

    Использование аннотаций данных в WPF

     Добавление аннотаций данных к модели

     Контроль ошибок проверки достоверности на основе аннотаций данных

    Настройка свойства ErrorTemplate

    Итоговые сведения о проверке достоверности

   Создание специальных команд

    Реализация интерфейса ICommand

    Добавление класса ChangeColorCommand

     Присоединение команды к CommandManager

     Изменение файла MainWindow.xaml.cs

     Изменение файла MainWindow.xaml

     Тестирование приложения

    Создание класса CommandBase

    Добавление класса AddCarCommand

     Изменение файла MainWindow.xaml.cs

     Изменение файла MainWindow.xaml

     Изменение класса ChangeColorCommand

    Объекты RelayCommand

     Создание базового класса RelayCommand

     Создание класса RelayCommand<T>

     Изменение файла MainWindow.xaml.cs

     Добавление и реализация кнопки удаления записи об автомобиле

    Итоговые сведения о командах

   Перенос кода и данных в модель представления