71. Avalonia UI Real World (Custom Header Control)
00:00 Введение в пользовательские элементы управления • Создание пользовательских элементов управления для кнопок, флажков и пиктограмм. • Повторное использование элементов управления на разных страницах. • Пример с заголовком: необходимость превращения кода в пользовательский элемент управления. 00:56 Анализ текущего кода заголовка • Описание структуры заголовка: сетка с названием, панель «стек» для изображения и надписей. • Проблемы с копированием и вставкой кода между страницами. • Сложности с использованием библиотеки Skia SVG для преобразования строк в изображения. 01:55 Начало создания пользовательского элемента управления • Решение не разделять элементы управления на темы. • Создание пользовательского элемента управления «заголовочный баннер». • Вставка элемента на домашнюю страницу. 02:54 Использование пространства имён • Добавление XML-пространства имён для элементов управления. • Пример использования пространства имён: «элементы управления: заголовок баннера». • Проверка работы элемента на главной странице. 04:29 Настройка свойств элемента управления • Передача значений разделам страницы настроек. • Стилизация и скрытие элементов в зависимости от наличия текста. • Проблемы с отступами после текста. 05:05 Добавление свойств стиля • Создание свойства стиля для заголовка баннера. • Настройка свойств стиля для подзаголовков. • Проблемы с привязкой свойств к XAML. 06:36 Привязка свойств к XAML • Добавление пространства имён для привязки свойств. • Компиляция файлов для проверки работы привязки. • Исправление проблем с контекстом данных. 08:47 Завершение настройки • Установка контекста данных для корректной привязки. • Проверка отображения текста после настройки. • Устранение проблемы с отображением нулевого значения. 09:14 Настройка видимости этикетки • Видимость этикетки по умолчанию должна быть равна нулю, если содержимое не содержит пробелов. • Подзаголовок можно использовать как тест для настройки цвета. 09:49 Работа с фоновым изображением • Привязка источника изображения к заголовку для максимальной гибкости. • Использование свойства style для указания фонового изображения. 10:44 Привязка фонового изображения • Импорт пространства имён для привязки фонового изображения. • Проверка работы привязки без ошибок. 11:39 Копирование заголовка на страницы • Копирование заголовка на все страницы с заголовками. • Установка фона для всех заголовков. 12:39 Вспомогательные элементы управления • Создание вспомогательных элементов управления для ускорения воссоздания пользовательского интерфейса. • Пример использования элемента управления «содержимое заголовка». 14:31 Создание страницы истории • Создание страницы истории для демонстрации работы заголовков. • Использование макросов для автоматизации процессов. 15:09 Обновление страниц • Обновление страниц с заголовками и правильной информацией. • Рассмотрение возможности анимации изображений. 18:29 Проблемы с настройкой фона • Трудности с установкой фона пользовательского элемента управления только для дизайнера. • Неудачные попытки использования различных методов настройки фона. 19:41 Поиск решения • Попытка добавить стиль оформления в виде точек. • Создание селектора для выбора стиля. 19:56 Настройка фона и стиля • Использование динамического основного фона ресурса для установки цвета. • Настройка ширины и высоты конструктора. • Попытка установить передний план и фоновую картинку в пользовательском элементе управления. 21:33 Проблемы с передним планом • Невозможность установить передний план для сетки. • Необходимость использования привязки для доступа к режиму времени разработки. • Добавление класса «design» для пользовательского элемента управления. 22:33 Добавление стиля в приложение • Добавление стиля в приложение для применения к пользовательскому элементу управления. • Проблемы с применением стилей во время разработки. • Проверка работы стилей при запуске приложения. 25:31 Временное решение • Использование дополнительной обертки для решения проблемы. • Перемещение сетки внутрь панели для визуализации элемента управления. • Попытка переопределить значения по умолчанию. 27:14 Работа с динамическими ресурсами • Установка переднего плана и фона через динамические ресурсы. • Проблемы с синтаксисом при установке свойств. • Решение синтаксических проблем и проверка работы кода. 30:01 Завершение работы • Компиляция и проверка результата. • Перенос картинки на задний план. • Предложение использовать вспомогательную функцию для настройки цвета фона и переднего плана. 30:56 Вспомогательный класс и проектные данные • Обсуждается необходимость вспомогательного класса для работы с проектными данными. • Подчёркивается, что зарегистрированные сервисы доступны только во время разработки. • Рассматривается возможность использования вспомогательного метода для установки параметров контроля. 31:53 Проблемы с визуальным просмотром 32:38 Пользовательский контроль
00:00 Введение в пользовательские элементы управления • Создание пользовательских элементов управления для кнопок, флажков и пиктограмм. • Повторное использование элементов управления на разных страницах. • Пример с заголовком: необходимость превращения кода в пользовательский элемент управления. 00:56 Анализ текущего кода заголовка • Описание структуры заголовка: сетка с названием, панель «стек» для изображения и надписей. • Проблемы с копированием и вставкой кода между страницами. • Сложности с использованием библиотеки Skia SVG для преобразования строк в изображения. 01:55 Начало создания пользовательского элемента управления • Решение не разделять элементы управления на темы. • Создание пользовательского элемента управления «заголовочный баннер». • Вставка элемента на домашнюю страницу. 02:54 Использование пространства имён • Добавление XML-пространства имён для элементов управления. • Пример использования пространства имён: «элементы управления: заголовок баннера». • Проверка работы элемента на главной странице. 04:29 Настройка свойств элемента управления • Передача значений разделам страницы настроек. • Стилизация и скрытие элементов в зависимости от наличия текста. • Проблемы с отступами после текста. 05:05 Добавление свойств стиля • Создание свойства стиля для заголовка баннера. • Настройка свойств стиля для подзаголовков. • Проблемы с привязкой свойств к XAML. 06:36 Привязка свойств к XAML • Добавление пространства имён для привязки свойств. • Компиляция файлов для проверки работы привязки. • Исправление проблем с контекстом данных. 08:47 Завершение настройки • Установка контекста данных для корректной привязки. • Проверка отображения текста после настройки. • Устранение проблемы с отображением нулевого значения. 09:14 Настройка видимости этикетки • Видимость этикетки по умолчанию должна быть равна нулю, если содержимое не содержит пробелов. • Подзаголовок можно использовать как тест для настройки цвета. 09:49 Работа с фоновым изображением • Привязка источника изображения к заголовку для максимальной гибкости. • Использование свойства style для указания фонового изображения. 10:44 Привязка фонового изображения • Импорт пространства имён для привязки фонового изображения. • Проверка работы привязки без ошибок. 11:39 Копирование заголовка на страницы • Копирование заголовка на все страницы с заголовками. • Установка фона для всех заголовков. 12:39 Вспомогательные элементы управления • Создание вспомогательных элементов управления для ускорения воссоздания пользовательского интерфейса. • Пример использования элемента управления «содержимое заголовка». 14:31 Создание страницы истории • Создание страницы истории для демонстрации работы заголовков. • Использование макросов для автоматизации процессов. 15:09 Обновление страниц • Обновление страниц с заголовками и правильной информацией. • Рассмотрение возможности анимации изображений. 18:29 Проблемы с настройкой фона • Трудности с установкой фона пользовательского элемента управления только для дизайнера. • Неудачные попытки использования различных методов настройки фона. 19:41 Поиск решения • Попытка добавить стиль оформления в виде точек. • Создание селектора для выбора стиля. 19:56 Настройка фона и стиля • Использование динамического основного фона ресурса для установки цвета. • Настройка ширины и высоты конструктора. • Попытка установить передний план и фоновую картинку в пользовательском элементе управления. 21:33 Проблемы с передним планом • Невозможность установить передний план для сетки. • Необходимость использования привязки для доступа к режиму времени разработки. • Добавление класса «design» для пользовательского элемента управления. 22:33 Добавление стиля в приложение • Добавление стиля в приложение для применения к пользовательскому элементу управления. • Проблемы с применением стилей во время разработки. • Проверка работы стилей при запуске приложения. 25:31 Временное решение • Использование дополнительной обертки для решения проблемы. • Перемещение сетки внутрь панели для визуализации элемента управления. • Попытка переопределить значения по умолчанию. 27:14 Работа с динамическими ресурсами • Установка переднего плана и фона через динамические ресурсы. • Проблемы с синтаксисом при установке свойств. • Решение синтаксических проблем и проверка работы кода. 30:01 Завершение работы • Компиляция и проверка результата. • Перенос картинки на задний план. • Предложение использовать вспомогательную функцию для настройки цвета фона и переднего плана. 30:56 Вспомогательный класс и проектные данные • Обсуждается необходимость вспомогательного класса для работы с проектными данными. • Подчёркивается, что зарегистрированные сервисы доступны только во время разработки. • Рассматривается возможность использования вспомогательного метода для установки параметров контроля. 31:53 Проблемы с визуальным просмотром 32:38 Пользовательский контроль
