Я предполагаю, что вы использовали отдельный словарь ресурсов для каждого элемента управления и повторяли его для других тем.
Поэтому я предлагаю вам сохранить словарь ресурсов для каждой темы, например: Theme1.xaml .. и объединить все свои словари ресурсов, которые входят в эту тему
Пример:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/Button.xaml"/>
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/Combobox.xaml" />
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/ListBox.xaml" />
<ResourceDictionary Source="pack://application:,,,/UrProject;component/Themes/Theme1/Checkbox.xaml" />
</ResourceDictionary.MergedDictionaries>
Вы можете добавить и удалить этот словарь ресурсов в свое приложение для переключения вашей темы. Надеюсь, поможет. :)