Я хочу реализовать тему типа ASP.Net в WPF. Пользователь имеет выбор различных предопределенных тем и может переключиться на другую тему.Как реализовать theming в wpf
Для реализации этого я попытался создать различные resourcedictionary для каждой темы и сохранить необходимый стиль с помощью ключа. Коллекция ключей одинакова во всех темах, но их определение в каждом из них отличается.
Я использую ниже код для переключения темы по щелчку:
var theme = Application.LoadComponent(uri) as ResourceDictionary;
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(theme);
Во всех страницах/UserControl/окна я установить StaticResource и примененные соответствующую клавишу. Когда я переключаюсь на другую тему, это применяется только после следующего события в UI.
Если я установил изменение StaticResource в DynamicResource, то он будет применен немедленно.
Пожалуйста, поделитесь своей идеей, чтобы достичь этого с помощью StaticResource?
Спасибо за ваш ответ, но он не работает с StaticResource. –