Aquí podría ser tu PUBLICIDAD


WPF: la imagen 'no es parte del proyecto o su acción de compilación no está configurada como recurso'

votos
30

Tengo un proyecto que requiere una imagen en la ventana. Esta es una imagen estática y agregué a través de 'Agregar> Artículo existente'. Existe en la raíz del proyecto.

Hago referencia a la imagen en una página de prueba como tal -

<Page x:Class=Critter.Pages.Test
      xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
      xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
      Title=Test>
      <Image Source=bug.png/>
</Page>

El problema es que recibo un mensaje que dice que no se puede encontrar o que su acción de compilación no es un recurso, pero SI EXISTE y es un recurso de acción de compilación IS. Si creo una nueva aplicación y la arrojo a una ventana, funciona bien.

Cualquier ayuda sería genial.

Publicado el 12/03/2009 a las 15:26
fuente por usuario Stimul8d
En otros idiomas...        العربية       

10 respuestas

votos
31

Intente hacer una reconstrucción completa o elimine los archivos de compilación y luego cree el archivo.

Visual Studio no siempre capta los cambios en los recursos, y puede ser complicado hacerlo recompilar.

También intente usar un URI completo, ya que eso me ayudó cuando tuve el mismo problema. Algo como

pack://application:,,,/MyAssembly;component/bug.png
Respondida el 12/03/2009 a las 05:03
fuente por usuario Cameron MacFarland


Aquí podría ser tu PUBLICIDAD


votos
17

-> Haga clic derecho en el archivo de imagen -> Haga clic en la propiedad -> Seleccionar Acción de generación al Recurso -> limpieza y construcción solución -> Ejecutar la solución que obtendrá el todo

Disfrutar

Respondida el 07/07/2011 a las 08:06
fuente por usuario sona jha

votos
15

Tuve el mismo problema. Limpiar y reconstruir la solución no lo solucionó, así que reinicié Visual Studio y lo hice. Aquí está la esperanza de que Visual 2010 solucione este problema y los muchos otros que afectan a wpf en Visual 2008.

Respondida el 30/09/2009 a las 11:21
fuente por usuario brianstewey

votos
12

Trate de comenzar la ruta de la imagen con un "/":

<Image Source="/bug.png"/>
Respondida el 02/03/2012 a las 05:41
fuente por usuario Ben Gribaudo

votos
3

Hay una solución a su pregunta

<Image Source="/WpfApplication4;component/images/sky.jpg" />

"Componente" no es una carpeta!

Respondida el 13/05/2012 a las 12:16
fuente por usuario towrywang

votos
2

No lo hace, o al menos la versión beta actual no. Encontré esta página mientras investigaba exactamente el mismo problema. Rebuild / clean no hizo nada. Después de cerrar y volver a cargar la solución, el archivo volvió a ser mágicamente compatible.

Respondida el 11/10/2009 a las 08:40
fuente por usuario user188079

votos
1

Me enfrenté al problema exactamente el mismo, pero el reinicio VS2008 o limpiar y reconstruir el proyecto no funcionó para mí. Al final, los siguientes pasos resolvieron el problema.

  • En el Explorador de Windows copiar la imagen en la carpeta de recursos del proyecto. Ejemplo: MyProject \ Resources \
  • Desde dentro de Visual Studio haga clic derecho sobre los recursos y seleccione "Agregar> elemento existente" y seleccione la imagen que acaba de copiar en
  • Desde dentro de la forma XAML establecer el origen de la imagen como: "Source="Resources/MyImage.ico"(mi imagen se guarda como archivo de icono (.ico), pero este enfoque debería funcionar para cualquier tipo de imagen

Espero que esto ayude a alguien

Respondida el 05/09/2014 a las 11:34
fuente por usuario P_Fitz

votos
1

Ejemplo de carga asíncrona, otra opción. Ejemplo clip.mp4 se encuentra en la raíz del proyecto web.

void Landing_Loaded(object sender, RoutedEventArgs e)
{
    //Load video async

    Uri pageUri = HtmlPage.Document.DocumentUri;
    Uri videoUri = new UriBuilder(pageUri.Scheme, pageUri.Host, pageUri.Port, "clip.mp4").Uri;           

    WebClient webClient = new WebClient();
    webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
    webClient.OpenReadAsync(videoUri);
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    byte[] VideoBuffer = new byte[e.Result.Length];
    e.Result.Read(VideoBuffer, 0, (int)e.Result.Length);
    MemoryStream videoStream = new MemoryStream(VideoBuffer);
    ContentVideo.SetSource(videoStream);
    ContentVideo.Stop();
    ContentVideo.Play();
}
Respondida el 19/03/2010 a las 05:42
fuente por usuario pigleg

votos
0

Yo tenía el mismo mensaje de error, pero mis problemas era un simple error NOOB.

Cuando añadí mis archivos .ico a "Mi Proyecto / Recursos", VS hizo una subcarpeta nombrada Recursos y yo estaba tratando de usar;

<Window Icon="icons1.ico">

cuando debería haber estado utilizando;

<Window Icon="Resources/icons1.ico">

... no juzgo, que empecé a usar WPF 1 semana :)

Respondida el 06/02/2013 a las 10:11
fuente por usuario T4roy

votos
0

Tuve un problema similar. Después de que he eliminado un someStyle.xamlarchivo que en realidad no estaba utilizando en el explorador de soluciones. A continuación, he restaurado el archivo, pero ningún cambio sucedió. La limpieza y la reconstrucción del proyecto no ayudó.

Con solo borrar la fila correspondiente:

<ResourceDictionary Source="someStyle.xaml"/> 

Hizo el truco.

Respondida el 26/12/2010 a las 04:29
fuente por usuario JnuO


Aquí podría ser tu PUBLICIDAD