2012-08-14 14 views
41

Estoy teniendo una ventana WPF, con una imagen de fondo de un archivo en mi sistema local. Por lo que el archivo XAML se ve así:WPF arroja la excepción "No se puede localizar el recurso" al cargar la imagen

<Window.Background> 
    <ImageBrush ImageSource="/MYASSEMBLY;component/Resources/MyPic.png"/> 
</Window.Background> 

En el diseñador de XAML que en realidad muestra esta imagen de fondo, por lo que la imagen existe en la carpeta MyAssembly \ Resources. Sin embargo, en la llamada a la función InitializeComponent() cuando lance la aplicación, arroja la excepción

No se puede encontrar el recurso 'resources/mypic.png'.

Así que estoy totalmente perdido ahora. ¿Los directorios son diferentes entre el diseño y el tiempo de ejecución, por lo que no existe en el tiempo de ejecución?

+0

¿Ha establecido una referencia a la dll? –

+0

¿Modo de compilación de la imagen? (Ver cosas en el diseñador dice * nada *) –

+0

Gracias @ H.B. Como comenté la respuesta, ni siquiera incluí la imagen en el proyecto. Supongo que el diseñador y el tiempo de ejecución se comportan diferente, es un poco confuso para los hombres frescos como yo. – tete

Respuesta

105

En la solución explorar, establecer la imagen "Acción de generación" propiedad a "Recursos", entonces limpia la solución y reconstruirlo.

+0

Gracias, eso resuelve el problema. Pensé que cargaría la imagen en el tiempo de ejecución, así que ni siquiera incluí la imagen en el proyecto. – tete

+15

y sí, no te olvides de limpiar y reconstruir ... como dijo Buzz ... es fácil pasar por alto eso ... Lo hice :) – invalidusername

+1

jeje, la mayoría de nosotros, incluido el operador, realmente no tenía esa propiedad problema, pero no esperábamos que se requiera tener la imagen en el explorador de soluciones si ya está en el directorio físico. Es genial ser honesto que se requiere en el explorador. ¡Gracias! –

0

WPF arroja la excepción "No se puede localizar el recurso", este problema apareció cuando estaba haciendo la localización usando la herramienta locbaml, cuando compilo recibo este error. Hubo una gran cantidad de referencias de diccionario combinadas de recursos. Por lo tanto, al establecer la propiedad Acción de compilación del archivo xaml de recursos en "Recurso" desde "Página" se resolvió el problema.

Cuestiones relacionadas