Currently when auto-reloading I create an empty ResourceDictionary and set that as a theme.
I also create a dummy control as the main view.
Then I load the theme resources, and add these to the merged dictionaries.
Then I load the main XAML as content of the dummy control.
When either resources or XAML change, I clear the ResourceDictionary and dummy content, and reload.
This works fine but I must use DynamicResource everywhere, and that is strange if the "theme" is loaded first. I consider the "theme" more as globally available resources (like the one in WPF's App.xaml), and not like a real WPF theme that can be switched at runtime. Or is that called a Skin, I always mix up these two
Btw I also have Roslyn based reloading of C# now, I will update my github repo as soon as it is stable. I will make my view-models serializable, and restore after them reloading the assemblies. I also generate PDBs so debugging also works. Like that I should get real "hot" reloading, I.e. keeping most of the state. Visual Studio 's edit and continue (both c# as XAML) is often annoying since you can only do certain changes. Using the WPF designer works but you need to create "design time" view-model instances, awkward and the WPF designer often works incorrectly. So I hope to make a nice little life coding environment, since restarting an application is so 2010-ish