Kent, I accepted your suggestion because it seems obviously correct, but it did not work for me. I have my Application.Resources set as following:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!--Themes-->
<ResourceDictionary Source="pack://application:,,,/Themes;component/ThemeGreenResources.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
When I do this, the app gets the Green theme but this.Resources.MergedDictionary is empty, therefore, not allowing me to access the MergedDictionary inside the main MergedDictionary. What am I missing?
I thought one other option would be to create a class inheriting from ResourceDictionary called ThemeDictionary, and, use it instead ResourceDictionary on the resource files. Then I could iterate through them and only clear the ones whose types are ThemeDictionary.
Is this too much of a hack?
Thanks for your help.