Вы можете сделать это с помощью объединенных словарей.Поместите все свои «нормальные» стили в словарь и по умолчанию добавьте его в ресурсы приложения:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/Normal.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Затем вы можете удалить текущий словарь и динамически загрузить другой:
private void ChangeStyles()
{
App.Current.Resources.MergedDictionaries.Clear();
StreamResourceInfo resInfo = App.GetResourceStream(new Uri("Styles/NewStyles.xaml", UriKind.Relative));
XDocument xaml = XDocument.Load(resInfo.Stream);
ResourceDictionary resource = XamlReader.Load(xaml.ToString()) as ResourceDictionary;
App.Current.Resources.MergedDictionaries.Add(resource);
}