2010-02-16 16 views
30

Tengo una aplicación wpf y un proyecto de biblioteca de clase (dll). En mi DLL tengo una carpeta de imágenes con algunos archivos .png establecidos como Recurso.Imágenes de referencia almacenadas en dll externo usando wpf

Quiero hacer referencia y mostrar la imagen usando la aplicación principal wpf.

¿Alguna idea? Quiero hacer esto en el xaml no el código detrás si es posible.

Ta, Matt.

Respuesta

52

Suponiendo que se hace referencia a la biblioteca de clases de la aplicación WPF puede hacer referencia y mostrar la imagen en la aplicación de WPF con la siguiente XAML:

<Image Source="/ClassLibraryName;Component/images/myimage.png"/> 

Lo importante aquí es "ClassLibraryName", que es el nombre de ensamblado para tu biblioteca de clase "/images/myimage.png" es la ruta a su imagen.

Puede encontrar más información sobre los URI del paquete WPF here.

+4

Excelente. ¿Para qué tiene que estar el "Componente"? –

+4

Asegúrese de tener la "Acción de compilación" para el conjunto de recursos en "Recurso" si desea tener la imagen incrustada en el conjunto. El "contenido" también funciona si no desea que sus imágenes estén integradas. –

+0

Si tiene una biblioteca de clases, una aplicación WPF y una aplicación MVC; ¿Pueden WPF y MVC acceder a esos archivos de imagen usando el mismo código (considerando que es XAML) O tendría que codificar el directorio para la aplicación MVC? – Termato

1

Ya estaba usando debajo, pero todavía no funcionó.

<Image Source="/ClassLibraryName;Component/images/myimage.png"/> 

Cambié la "Acción de compilación" a "Recurso" pero aún no funcionó.

Finalmente, después de limpiar la solución y reconstruir todo, funcionó !!!

Configuración: Microsoft Visual Studio Enterprise 2015, Windows 10 Pro, C#

Cuestiones relacionadas