Страницы

Поиск по вопросам

воскресенье, 7 июля 2019 г.

Замена цветов во всем интерфейсе приложения

Есть WPF приложение, выполненное в определенном визуальном стиле например, фон у всех окон и страниц серый. Можно ли, и если можно то как наиболее эффективно сменить этот фон на всех окнах разом, даже если обьекты page или window еще не созданы ?


Ответ

То, что вы хотите, называется стилизация приложения. Она не получится просто так, придётся поработать.
Последовательность действий может быть такая:
Значения всех визуальных свойств положите в стили. Стили соберите в ResourceDictionary (назовём его skin1.xaml) Подключайте все стили из skin1.xaml через DynamicResource Разработайте альтернативные стили, дайте им такие же имена, и положите в соседний ResourceDictionary (назовём его skin2.xaml) В начале работы приложения определите, хотите ли вы работать со skin1 или skin2 Подгрузите в App.xaml в Resources skin1.xaml или skin2.xaml в MergedDictionaries Если вы хотите сменить цвета во время пробега программы, добавьте в MergedDictionaries другой ResourceDictionary, после чего уберите старый.

Комментариев нет:

Отправить комментарий