ResourceDictionary es el camino a seguir, puede copiar un archivo xaml que contenga el diccionario de recursos entre proyectos o compilarlos en una DLL a la que hará referencia desde sus proyectos.
Para hacer referencia a diccionarios en el mismo proyecto, agregue algo como esto a su App.xaml (en este caso guardo mis recursos en la carpeta 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>
Si los compila en un archivo DLL diferentes que puede utilizar esta sintaxis (si el archivo DLL de estilos se llama StyleAssembly, la palabra "componente" es en realidad parte de la sintaxis y no un nombre de directorio):
<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>
Eres solo una estrella, gracias :) –