Город МОСКОВСКИЙ
00:23:36

008. Avalonia UI - View Model Basics MVVM

Аватар
Ленинский Букварь
Просмотры:
13
Дата загрузки:
15.04.2026 21:04
Длительность:
00:23:36
Категория:
Обучение

Описание

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.
• Завершение видео и обещание увидеться в следующий раз.

Рекомендуемые видео