Tengo una biblioteca de clases Silverlight (no una aplicación de nivel superior) con varios controles de usuario que se comparten con diferentes aplicaciones Silverlight. He revisado y sacado varios estilos y pinceles para los controles y los puse en un archivo XAML separado como un diccionario de recursos que incluyo en cada control como un diccionario de recursos fusionados. En este momento, esto funciona muy bien en mis aplicaciones de nivel superior, siempre que conserve ese diccionario de recursos como una acción de compilación de "Recurso" y lo haga referencia de esa manera desde los controles.Packaging ResourceDictionary para Silverlight Class Library
Lo que realmente me gustaría hacer es tener este archivo de diccionario de recursos XAML como una acción de compilación de "Contenido" que se copia en el XAP de nivel superior, para que el XAML pueda intercambiarse en el archivo XAP sin necesidad de reconstruir el proyecto Cada vez que intento configurar esto, el archivo XAML se copiará en la bandeja de salida para el proyecto de la biblioteca de la clase, pero nunca se copiará a mi directorio de salida del proyecto de aplicaciones silverlight de nivel superior ni al archivo XAP final.
¿Cuál es la mejor manera de lograr esto? El diccionario de recursos XAML es esencialmente una dependencia de la biblioteca de clases, y la biblioteca de clases (de los controles de usuario) es una dependencia de la aplicación Silverlight de nivel superior.
Este parece ser el mejor enfoque posible, es un poco molesto tener una referencia a una biblioteca de clases de Silverlight y un enlace a uno de sus archivos de salida en la aplicación Silverlight. Supongo que es la única forma de ingresar al XAP sin algunos hacks de reempaquetado XAP posteriores a la construcción. –
Después de probar algunas cosas más, este enfoque funciona bien en el tiempo de ejecución, pero no parece ser "Blendable". Al abrir la aplicación silverlight de nivel superior en Expression Blend, recibo un montón de errores ... parece que Blend no puede seguir los enlaces del proyecto a ResourceDictionary para la biblioteca de clases de controles. ¿Alguna idea sobre cómo hacer que Blend juegue bien? Esta solución no se reducirá si nunca puedo abrir el proyecto correctamente en Blend. –