008. Avalonia UI - View Model Basics MVVM

00:00 Введение в модели просмотра • Необходимость добавления моделей просмотра для управления анимацией и выбором действий. • Объяснение работы MVVM: представление, модель представления, модель. • Привязка данных в Avalonia через контекст данных окна. 00:52 Принцип работы привязки данных • Привязка ищет данные в объекте контекста данных окна. • ViewModel уведомляет представление об изменениях через функцию notify property changed. • Примеры использования реактивного пользовательского интерфейса. 01:32 Дополнительные возможности привязки • Привязка к другим элементам управления через хэштеги. • Привязка к предкам с помощью CSS-селекторов. • Особенности привязки в Avalonia. 03:28 Начало работы с моделями просмотра • Замена заголовка «Авалония» и «Измеритель громкости» на реальный текст в ViewModel. • Удаление существующих моделей представления для начала с нуля. • Определение типа приложения при запуске для выбора главного окна или основного вида. 05:11 Создание основной модели представления • Создание класса MainViewModel. • Проверка функции определения вида и её возможное использование. • Компиляция и запуск приложения. 06:09 Работа с контекстом данных • Установка контекста данных для основного представления. • Каждый элемент пользовательского интерфейса имеет контекст данных. • Пример привязки свойства к метке. 07:51 Обновление данных в реальном времени • Создание свойства bold title в MainViewModel. • Установка точки останова для отслеживания изменений. • Обновление данных при первом появлении представления. 09:51 Простота установки контекста данных • Демонстрация простоты установки контекста данных для объекта. • Возможность работы без использования фреймворка. • Важность правильного указания пути к свойствам модели представления. 10:43 Обновление свойств • Использование get и set для обновления свойств. • Установка значения по умолчанию и его проверка. • Проверка обновления данных при установке свойства. 11:20 Введение в MVVM • MVVM Model-View-ViewModel: модель содержит данные, представление отображает данные, ViewModel связывает модель с представлением. • ViewModel автоматически обновляет представление при изменении данных. 11:58 Обновление представления через ViewModel • Представление отслеживает события в ViewModel для обновления данных. • Наследование от интерфейса INotifyPropertyChanged позволяет ViewModel уведомлять представление об изменениях. 12:31 Реализация интерфейса INotifyPropertyChanged • При реализации интерфейса появляется новое свойство changed и обработчик событий. • Avalonia автоматически связывает представление с событием изменения свойств. 13:18 Принудительное обновление представления • Для принудительного обновления представления используется свойство changed. • Пример с заголовком, выделенным жирным шрифтом, демонстрирует работу привязки MVVM. 15:56 Проблемы ручного управления свойствами • Ручное управление свойствами требует много шаблонного кода. • Необходимо реализовывать получатель и установщик для каждого свойства. 17:02 Автоматизация с помощью инструментария MVVM • Инструментарий MVVM автоматически генерирует код для свойств и коллекций. • Изменение класса ViewModel на ObservableObject позволяет использовать инструментарий. 19:13 Использование сгенерированных свойств • Сгенерированные свойства автоматически реализуют INotifyPropertyChanged. • Важно использовать правильные имена свойств для корректной работы. 20:29 Проверка работы модели представления • Проверка работы модели представления показывает, что изменения свойств автоматически обновляются в представлении. 21:22 Расширение модели представления • Создание дополнительных свойств для привязки к разным элементам управления. • Пример с метками и обновлением заголовков демонстрирует гибкость модели представления. 22:25 Введение в viewmodels • Модель представления проста: два свойства с метками observable. • Модель представления привязывается к версиям этих свойств в верхнем регистре. • Суть MVVM: изменение значений в классе автоматически запускает события, сообщающие представлению о новых значениях. • Отделение viewmodel от представления и данных от конструкций, специфичных для представления. 23:20 Преимущества viewmodels • Возможность изменения нижних кнопок и стрелок в зависимости от свойств представления, связанных с viewmodel. • Завершение видео и обещание увидеться в следующий раз.

Иконка канала Ленинский Букварь
237 подписчиков
12+
5 просмотров
14 часов назад
12+
5 просмотров
14 часов назад

00:00 Введение в модели просмотра • Необходимость добавления моделей просмотра для управления анимацией и выбором действий. • Объяснение работы MVVM: представление, модель представления, модель. • Привязка данных в Avalonia через контекст данных окна. 00:52 Принцип работы привязки данных • Привязка ищет данные в объекте контекста данных окна. • ViewModel уведомляет представление об изменениях через функцию notify property changed. • Примеры использования реактивного пользовательского интерфейса. 01:32 Дополнительные возможности привязки • Привязка к другим элементам управления через хэштеги. • Привязка к предкам с помощью CSS-селекторов. • Особенности привязки в Avalonia. 03:28 Начало работы с моделями просмотра • Замена заголовка «Авалония» и «Измеритель громкости» на реальный текст в ViewModel. • Удаление существующих моделей представления для начала с нуля. • Определение типа приложения при запуске для выбора главного окна или основного вида. 05:11 Создание основной модели представления • Создание класса MainViewModel. • Проверка функции определения вида и её возможное использование. • Компиляция и запуск приложения. 06:09 Работа с контекстом данных • Установка контекста данных для основного представления. • Каждый элемент пользовательского интерфейса имеет контекст данных. • Пример привязки свойства к метке. 07:51 Обновление данных в реальном времени • Создание свойства bold title в MainViewModel. • Установка точки останова для отслеживания изменений. • Обновление данных при первом появлении представления. 09:51 Простота установки контекста данных • Демонстрация простоты установки контекста данных для объекта. • Возможность работы без использования фреймворка. • Важность правильного указания пути к свойствам модели представления. 10:43 Обновление свойств • Использование get и set для обновления свойств. • Установка значения по умолчанию и его проверка. • Проверка обновления данных при установке свойства. 11:20 Введение в MVVM • MVVM Model-View-ViewModel: модель содержит данные, представление отображает данные, ViewModel связывает модель с представлением. • ViewModel автоматически обновляет представление при изменении данных. 11:58 Обновление представления через ViewModel • Представление отслеживает события в ViewModel для обновления данных. • Наследование от интерфейса INotifyPropertyChanged позволяет ViewModel уведомлять представление об изменениях. 12:31 Реализация интерфейса INotifyPropertyChanged • При реализации интерфейса появляется новое свойство changed и обработчик событий. • Avalonia автоматически связывает представление с событием изменения свойств. 13:18 Принудительное обновление представления • Для принудительного обновления представления используется свойство changed. • Пример с заголовком, выделенным жирным шрифтом, демонстрирует работу привязки MVVM. 15:56 Проблемы ручного управления свойствами • Ручное управление свойствами требует много шаблонного кода. • Необходимо реализовывать получатель и установщик для каждого свойства. 17:02 Автоматизация с помощью инструментария MVVM • Инструментарий MVVM автоматически генерирует код для свойств и коллекций. • Изменение класса ViewModel на ObservableObject позволяет использовать инструментарий. 19:13 Использование сгенерированных свойств • Сгенерированные свойства автоматически реализуют INotifyPropertyChanged. • Важно использовать правильные имена свойств для корректной работы. 20:29 Проверка работы модели представления • Проверка работы модели представления показывает, что изменения свойств автоматически обновляются в представлении. 21:22 Расширение модели представления • Создание дополнительных свойств для привязки к разным элементам управления. • Пример с метками и обновлением заголовков демонстрирует гибкость модели представления. 22:25 Введение в viewmodels • Модель представления проста: два свойства с метками observable. • Модель представления привязывается к версиям этих свойств в верхнем регистре. • Суть MVVM: изменение значений в классе автоматически запускает события, сообщающие представлению о новых значениях. • Отделение viewmodel от представления и данных от конструкций, специфичных для представления. 23:20 Преимущества viewmodels • Возможность изменения нижних кнопок и стрелок в зависимости от свойств представления, связанных с viewmodel. • Завершение видео и обещание увидеться в следующий раз.

, чтобы оставлять комментарии