2012-10-02 27 views
11

me gustaría asignar un BitmapImage de mi Resources.resx a un Image. Previamente, guardé una imagen .png en Resources.resx. Esta imagen ahora se encuentra en "/Resources/logo.png".Asignar imagen de mapa de bits de Resources.resx a Image.Source?

Después de leer varios mensajes de SO y otros artículos que tengo esto ahora:

logoImage.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resources/logo.png")); 

Por desgracia, no funciona. No sé cómo resolver esto.

Traté de reemplazar el Pack-URI con la ruta completa y funcionó, pero me gustaría utilizar rutas relativas para utilizar el mismo origen en diferentes máquinas en las que la ruta absoluta sería incorrecta.

¿Puede alguien ayudarme con esto? ¡Gracias de antemano!

Respuesta

23

Para hacer que Uri funcione, el archivo logo.png debe estar contenido en una carpeta llamada "Recursos" en su proyecto VS (vea la primera imagen), y su Acción de compilación debe configurarse como Recurso (ver segunda imagen)

VS Project

Build Action

Esta carpeta de recursos tiene relación alguna con Resources.resx. Puede cambiarle el nombre a lo que quiera.

+1

gracias! Olvidé cambiar BuildAction por Recurso -.- ' – TorbenJ

+0

¡Gracias! pero ¿por qué no es esta la manera predeterminada? –

Cuestiones relacionadas