with the style resource present application already c# wpf xaml resourcedictionary

c# - the - ¿Es posible compartir un archivo ResourceDictionary entre varios proyectos?



style resourcedictionary wpf (2)

Si tengo un ResourceDictionary en un proyecto, ¿es posible crear otro proyecto que use los recursos definidos en el primer proyecto? Tenga en cuenta que ambos proyectos son aplicaciones WPF, no bibliotecas de control.

¡¡Gracias!!


Descubrí que tenía que hacer referencia al ensamblaje en sí y no usar un nombre de proyecto. Tampoco necesité usar el paquete: /// sintaxis para que esto funcione.

Esta respuesta en la pregunta duplicada especifica el formato a utilizar (puedo verificar que esta sintaxis funciona en .NET 4.0): https://.com/a/10216253/1260563

Específicamente (ya que siempre olvido la parte componente pensando que es una carpeta que está usando alguien):

<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/<YourAssemblyName>;component/<YourReferencedFileHere.xaml>" /> </ResourceDictionary.MergedDictionaries>

Entonces, si tiene un ensamblaje Abc.Def.dll y un archivo en esa DLL llamada Xyz.xaml en el nivel raíz, usaría:

<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/Abc.Def;component/Xyz.xaml" /> </ResourceDictionary.MergedDictionaries>

Nota: Resharper 7 señaló que tenía que hacer referencia al propio ensamblaje.


Sí, por supuesto que es posible, siempre que el Proyecto B tenga una referencia al Proyecto A.

<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/Project A;component/YourSubFolder/YourResourceFile.xaml" /> </ResourceDictionary.MergedDictionaries>

Luego, solo puede usar los recursos definidos en YourResourceFile.xaml.