23. Avalonia UI Real World (Detecting Data Changes)

00:00 Подготовка пользовательского интерфейса • Определение настроек принтера и добавление кнопок «Сохранить» и «Отменить». • Замена панели стека на сетку для размещения кнопок в нижнем углу. 00:53 Создание сетки • Определение строк для автоматического заполнения и добавление интервалов между строками. • Создание сетки внутри каждого элемента. 01:35 Размещение кнопок • Добавление шестой панели для заполнения оставшегося пространства. • Вертикальное и горизонтальное выравнивание кнопок. 02:10 Настройка кнопок • Увеличение кнопки и добавление второй кнопки «Сохранить». • Настройка ориентации и интервала для кнопок. 02:57 Создание свойства для определения изменений • Создание свойства has changed для определения изменений элементов. • Использование JSON для сохранения состояния элементов. 03:55 Проблемы с сериализацией и их решение • Устранение проблем с обнулением строк при сериализации JSON. • Создание нового класса для сравнения состояний. 04:29 Сериализация и сравнение состояний • Сериализация класса в строку для сравнения состояний. • Использование JsonIgnore для исключения свойств из сериализации. 05:31 Установка состояния сохранения • Создание метода set saved state для установки сохранённого состояния. • Обновление состояния сохранения и запуск событий для привязки к изменениям. 06:47 Логика обработки изменений • Проверка, является ли viewmodel новым элементом, и установка savestate при выборе элемента. • Привязка видимости панели стека к свойству has changed. 08:28 Тестирование привязки • Проверка видимости кнопок при изменении выбранного элемента. • Исправление проблем с отображением страницы при отсутствии выбранного элемента. 09:22 Проверка сериализации • Визуализация сериализованного состояния класса. • Сравнение строк для определения изменений. 10:23 Подтверждение работы привязки • Изменение названия работы и проверка работы привязки. • Подтверждение корректной работы привязки через точки останова. 10:45 Отладка программы • Расширение кода для отладки: создание переменной `a` и проверка её значения. • Запуск программы и изменение значений перед отладкой. • Проверка состояния сохранения при вводе буквы `g`. 11:42 Сериализация и производительность • Сериализация в формате JSON происходит быстро. • Каждое изменение текста запускает сериализацию. • Незначительное потребление мощности процессора. 12:06 Влияние на производительность • Сериализация не влияет на производительность процессора. • Важно учитывать события изменения свойств в коде. 12:31 Анализ свойств • Обсуждение свойств: выбранный идентификатор, название работы, описание, диапазон рисования, список исключений, профиль печати. • Проверка видимости кнопок на экране при изменении свойств. 13:29 Анимация в WPF • Проблемы с анимацией при привязке к `visible` в WPF. • Использование `непрозрачности` для анимации. • Преобразование логического значения в целое для привязки. 14:22 Реализация анимации • Привязка логического значения к `непрозрачности` в Avalonia. • Настройка переходов для анимации. • Настройка задержки перехода. 15:04 Тестирование анимации • Проверка визуального эффекта анимации. • Удовлетворённость результатом. 15:35 Планы на будущее • Обсуждение предотвращения внесения изменений. • Предупреждение пользователя о возможных изменениях. • Планы на следующее видео: определение изменений и их сохранение в базе данных.

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

00:00 Подготовка пользовательского интерфейса • Определение настроек принтера и добавление кнопок «Сохранить» и «Отменить». • Замена панели стека на сетку для размещения кнопок в нижнем углу. 00:53 Создание сетки • Определение строк для автоматического заполнения и добавление интервалов между строками. • Создание сетки внутри каждого элемента. 01:35 Размещение кнопок • Добавление шестой панели для заполнения оставшегося пространства. • Вертикальное и горизонтальное выравнивание кнопок. 02:10 Настройка кнопок • Увеличение кнопки и добавление второй кнопки «Сохранить». • Настройка ориентации и интервала для кнопок. 02:57 Создание свойства для определения изменений • Создание свойства has changed для определения изменений элементов. • Использование JSON для сохранения состояния элементов. 03:55 Проблемы с сериализацией и их решение • Устранение проблем с обнулением строк при сериализации JSON. • Создание нового класса для сравнения состояний. 04:29 Сериализация и сравнение состояний • Сериализация класса в строку для сравнения состояний. • Использование JsonIgnore для исключения свойств из сериализации. 05:31 Установка состояния сохранения • Создание метода set saved state для установки сохранённого состояния. • Обновление состояния сохранения и запуск событий для привязки к изменениям. 06:47 Логика обработки изменений • Проверка, является ли viewmodel новым элементом, и установка savestate при выборе элемента. • Привязка видимости панели стека к свойству has changed. 08:28 Тестирование привязки • Проверка видимости кнопок при изменении выбранного элемента. • Исправление проблем с отображением страницы при отсутствии выбранного элемента. 09:22 Проверка сериализации • Визуализация сериализованного состояния класса. • Сравнение строк для определения изменений. 10:23 Подтверждение работы привязки • Изменение названия работы и проверка работы привязки. • Подтверждение корректной работы привязки через точки останова. 10:45 Отладка программы • Расширение кода для отладки: создание переменной `a` и проверка её значения. • Запуск программы и изменение значений перед отладкой. • Проверка состояния сохранения при вводе буквы `g`. 11:42 Сериализация и производительность • Сериализация в формате JSON происходит быстро. • Каждое изменение текста запускает сериализацию. • Незначительное потребление мощности процессора. 12:06 Влияние на производительность • Сериализация не влияет на производительность процессора. • Важно учитывать события изменения свойств в коде. 12:31 Анализ свойств • Обсуждение свойств: выбранный идентификатор, название работы, описание, диапазон рисования, список исключений, профиль печати. • Проверка видимости кнопок на экране при изменении свойств. 13:29 Анимация в WPF • Проблемы с анимацией при привязке к `visible` в WPF. • Использование `непрозрачности` для анимации. • Преобразование логического значения в целое для привязки. 14:22 Реализация анимации • Привязка логического значения к `непрозрачности` в Avalonia. • Настройка переходов для анимации. • Настройка задержки перехода. 15:04 Тестирование анимации • Проверка визуального эффекта анимации. • Удовлетворённость результатом. 15:35 Планы на будущее • Обсуждение предотвращения внесения изменений. • Предупреждение пользователя о возможных изменениях. • Планы на следующее видео: определение изменений и их сохранение в базе данных.

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