ResourceDictionary è la strada da percorrere, è possibile copiare un file xaml contenente il dizionario risorse tra i progetti o compilarli in una DLL di cui farete riferimento dai vostri progetti.
Per fare riferimento a dizionari nello stesso progetto, aggiungi qualcosa di simile alla tua app.xaml (in questo caso tengo le mie risorse nella cartella ControlStyles).
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ControlStyles/Colors.xaml"/>
<ResourceDictionary Source="ControlStyles/Window.xaml"/>
<ResourceDictionary Source="ControlStyles/Button.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Se li si compila in una DLL che si possono usare questa sintassi (se la dll stili si chiama StyleAssembly, la parola "componente" è in realtà parte della sintassi e non un nome di directory):
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/StyleAssembly;component/ControlStyles/Colors.xaml"/>
<ResourceDictionary Source="pack://application:,,,/StyleAssembly;component/ControlStyles/Window.xaml"/>
<ResourceDictionary Source="pack://application:,,,/StyleAssembly;component/ControlStyles/Button.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Yer solo una stella, grazie :) –