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