WPF - L'immagine "non fa parte del progetto o la sua azione di costruzione non è impostata su Risorsa"

StackOverflow https://stackoverflow.com/questions/638845

Domanda

Ho un progetto che richiede un'immagine nella finestra. Questa è un'immagine statica che ho aggiunto tramite "Aggiungi > elemento esistente". Esiste nella radice del progetto.

Mi riferisco all'immagine in una pagina di prova in questo modo -

<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>

Il problema è che ricevo un messaggio che dice che non può essere trovato o che la sua azione di compilazione non è una risorsa, ma esiste e la sua azione di compilazione è una risorsa IS. Se creo una nuova applicazione e la lancio su una finestra, allora funziona perfettamente.

Qualsiasi aiuto sarebbe fantastico.

È stato utile?

Soluzione

Prova a fare una ricostruzione completa o elimina i file di build e quindi crea il file.

Visual Studio non rileva sempre le modifiche alle risorse e può essere una seccatura farlo ricompilare.

Prova anche a utilizzare un URI completo che mi ha aiutato quando ho avuto lo stesso problema. Qualcosa come

pack://application:,,,/MyAssembly;component/bug.png

Altri suggerimenti

& # 8594; Fare clic con il tasto destro del mouse sul file immagine & # 8594; Fare clic sulla proprietà & # 8594; Seleziona Crea azione su risorsa & # 8594; Pulisci e costruisci soluzione & # 8594; Esegui la soluzione

Otterrai tutto.

Ho avuto lo stesso problema. La pulizia e la ricostruzione della soluzione non l'hanno risolta, quindi ho riavviato Visual Studio e l'ho fatto. Speriamo che Visual 2010 risolva questo problema e molti altri che piacciono a wpf in Visual 2008.

Prova ad iniziare il percorso della tua immagine con un " / " ;:

<Image Source="/bug.png"/>

C'è una soluzione alla tua domanda

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

" componente " non è una cartella!

Non funziona, o almeno l'attuale beta no. Ho trovato questa pagina mentre esaminavo esattamente lo stesso problema. Ricostruire / pulire non ha fatto nulla. Dopo aver chiuso e ricaricato la soluzione, il file è tornato magicamente compatibile.

Esempio di caricamento asincrono, un'altra opzione. Esempio clip.mp4 si trova nella radice del progetto 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();
}

Ho riscontrato lo stesso identico problema, ma riavviare VS2008 o pulire e ricostruire il progetto non ha funzionato per me. Alla fine, i passaggi seguenti hanno funzionato.

  • In Esplora risorse, copiare l'immagine nella cartella delle risorse del progetto. Esempio: MyProject \ Resources \
  • Da Visual Studio fai clic con il pulsante destro del mouse su Risorse e seleziona " Aggiungi > Articolo esistente " e seleziona l'immagine che hai appena copiato
  • Dall'interno del modulo XAML imposta la sorgente dell'immagine come: " Source = " Resources / MyImage.ico " (la mia immagine è stata salvata come file icon (.ico), ma questo approccio dovrebbe funziona con qualsiasi tipo di immagine

Spero che questo aiuti qualcuno

Ho avuto un problema simile. Dopo aver eliminato un file someStyle.xaml che non stavo realmente utilizzando da Esplora soluzioni. Quindi ho ripristinato il file, ma non sono avvenute modifiche. La pulizia e la ricostruzione del progetto non sono state di aiuto.

Semplicemente eliminando la riga corrispondente:

<ResourceDictionary Source="someStyle.xaml"/> 

ha fatto il trucco.

Ho avuto lo stesso messaggio di errore ma i miei problemi erano un semplice errore NOOB.

Quando ho aggiunto i miei file .ico a " Il mio progetto / risorse " ;, VS ha creato una sottocartella denominata Resources e stavo cercando di usare;

<Window Icon="icons1.ico">

quando avrei dovuto usare;

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

... non giudicare, ho iniziato a usare WPF 1 settimana fa :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top