alternando dicionários de recursos wpf em tempo de execução

Estou tentando criar um aplicativo wpf que permita ao usuário alterar o tema no tempo de execução. O que eu fiz até agora é criar um dicionário com todas as cores para o aplicativo definido nele e, em seguida, vinculo esse dicionário no xaml.

Abaixo está o código que tenho para alternar o dicionário de recursos:

if (System.IO.File.Exists(fileName))
{
   using (FileStream fs = new FileStream(fileName, FileMode.Open))
   {
      ResourceDictionary dic = (ResourceDictionary)XamlReader.Load(fs);
      Resources.MergedDictionaries.Clear();
      Resources.MergedDictionaries.Add(dic);
   }
}

Esse código funciona bem e sei que está alternando o dicionário de recursos, mas não atualiza os elementos já exibidos na tela. Minha pergunta é: como atualizar ou religar a tela para levar em conta o novo dicionário de recursos?

obrigado

sm

questionAnswers(1)

yourAnswerToTheQuestion