#22 AvaloniaUI - Введение в темы управления
00:02 Введение в темы управления в Avalonia • Темы управления основаны на стилях и позволяют создавать переключаемые темы для элементов управления. • До Avalonia 11 темы создавались с использованием стандартных стилей, но их нельзя было удалить после применения. • В Avalonia 11 появились контрольные темы, которые решают эту проблему. 00:50 Особенности контрольных тем • Контрольные темы не имеют селектора, вместо этого используется свойство target type. • Темы хранятся в словаре ресурсов, а не в коллекции стилей. • Темы присваиваются элементу управления через свойство theme. 01:28 Применение тем к элементам управления • Темы обычно применяются к шаблонным элементам управления, но могут быть использованы для любых элементов. • Для элементов без шаблона удобнее использовать стандартные стили. 02:16 Создание темы кнопки с закруглёнными краями • В XAML-файле добавляется ресурс приложения с темой управления. • Устанавливается ключ «кнопка эллипса» и целевой тип «кнопка». • Задаются свойства: background, foreground, padding. 05:16 Настройка шаблона управления • Создаётся шаблон управления с панелью и эллипсом. • Эллипс имеет заливку, соответствующую привязке шаблона типа фон. • Добавляется презентатор контента для отображения содержимого кнопки. 08:04 Применение темы к кнопке • В главном окне создаётся кнопка и устанавливается статический ресурс для темы. • Задаётся название управляющей темы в свойстве theme. • Устанавливаются свойства кнопки: выравнивание по горизонтали и вертикали. 09:47 Взаимодействие в темах управления • Темы поддерживают вложенные стили для добавления взаимодействий, таких как наведение указателя мыши и нажатие кнопки. • Пример: изменение цвета кнопки при наведении указателя. 12:05 Поиск контрольной темы • Два способа поиска контрольной темы: по свойству «theme property» или по ключу x. • Если ключ x не указан, Avalonia ищет тему вверх по логическому дереву ресурсов. 14:02 Применение темы ко всем кнопкам • Изменение ключа x темы управления для применения ко всем кнопкам в приложении. • Пример изменения ключа x на «кнопка». 14:18 Заключение • Подчёркивается важность указания целевого типа для свойств setter. • Призыв к подписке и лайкам.
00:02 Введение в темы управления в Avalonia • Темы управления основаны на стилях и позволяют создавать переключаемые темы для элементов управления. • До Avalonia 11 темы создавались с использованием стандартных стилей, но их нельзя было удалить после применения. • В Avalonia 11 появились контрольные темы, которые решают эту проблему. 00:50 Особенности контрольных тем • Контрольные темы не имеют селектора, вместо этого используется свойство target type. • Темы хранятся в словаре ресурсов, а не в коллекции стилей. • Темы присваиваются элементу управления через свойство theme. 01:28 Применение тем к элементам управления • Темы обычно применяются к шаблонным элементам управления, но могут быть использованы для любых элементов. • Для элементов без шаблона удобнее использовать стандартные стили. 02:16 Создание темы кнопки с закруглёнными краями • В XAML-файле добавляется ресурс приложения с темой управления. • Устанавливается ключ «кнопка эллипса» и целевой тип «кнопка». • Задаются свойства: background, foreground, padding. 05:16 Настройка шаблона управления • Создаётся шаблон управления с панелью и эллипсом. • Эллипс имеет заливку, соответствующую привязке шаблона типа фон. • Добавляется презентатор контента для отображения содержимого кнопки. 08:04 Применение темы к кнопке • В главном окне создаётся кнопка и устанавливается статический ресурс для темы. • Задаётся название управляющей темы в свойстве theme. • Устанавливаются свойства кнопки: выравнивание по горизонтали и вертикали. 09:47 Взаимодействие в темах управления • Темы поддерживают вложенные стили для добавления взаимодействий, таких как наведение указателя мыши и нажатие кнопки. • Пример: изменение цвета кнопки при наведении указателя. 12:05 Поиск контрольной темы • Два способа поиска контрольной темы: по свойству «theme property» или по ключу x. • Если ключ x не указан, Avalonia ищет тему вверх по логическому дереву ресурсов. 14:02 Применение темы ко всем кнопкам • Изменение ключа x темы управления для применения ко всем кнопкам в приложении. • Пример изменения ключа x на «кнопка». 14:18 Заключение • Подчёркивается важность указания целевого типа для свойств setter. • Призыв к подписке и лайкам.




