Как реализовать тематику в wpf

Я хочу реализовать тему типа ASP.Net в WPF. Пользователь имеет выбор различных предопределенных тем и может переключиться на другую тему.

Чтобы реализовать это, я попытался создать различные ресурсы для каждой темы и сохранить требуемый стиль с ключом. Набор ключей одинаков во всех темах, но его определение отличается в каждой.

Я использую приведенный ниже код для переключения темы на клик:

var theme = Application.LoadComponent(uri) as ResourceDictionary;
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(theme);

Во всех страницах / usercontrol / windows я установил StaticResource и применил соответствующий ключ. Когда я переключаюсь на другую тему, этоonly applied after next event on UI.

Если я устанавливаю изменение StaticResource на DynamicResource, то оно применяется немедленно.

Пожалуйста, поделитесь своей идеей добиться этого со StaticResource?

Ответы на вопрос(2)

Ваш ответ на вопрос