2014-09-07 13 views
12

Recentemente ho insegnato a me stesso WinForms, ma ora sono passato al WPF più moderno, che è molto più SOOO!WPF - Importa immagine come risorsa

L'unica cosa di cui sono confuso al momento è usare le immagini. Ora in WinForms lo hai importato come risorsa e l'immagine funzionerebbe ancora una volta compilata nella cartella/bin/Debug.

io non riesco a capire come ottenere questo lavoro in WPF, quando si esegue l'applicazione l'immagine non viene caricata, perché l'immagine viene salvata in /Projects/AppName/images/, e l'applicazione viene compilata in /Projects/AppName/bin/Debug quando l'eseguo in Modalità di debug.

Ho semplicemente bisogno di fare una copia della mia cartella di immagini e metterla dove è compilata l'applicazione? Oppure c'è un'altro modo. Ecco il mio codice che visualizza la mia immagine:

<Image Width="300"> 
    <Image.Source> 
     <BitmapImage DecodePixelWidth="300" UriSource="/images/jamsnaps-dark.png" /> 
    </Image.Source> 
</Image> 

risposta

23
  • Creare una cartella (ad esempio images) nel progetto di Visual Studio.
  • Aggiungere il file immagine (s) a quella cartella.
  • Impostare la loro Build Action-Resource (nella finestra Proprietà, vedere la seconda immagine in this answer).

Quindi scrivere il UriSource proprietà come hai già fatto:

UriSource="/images/jamsnaps-dark.png" 

Questo URI è effettivamente un Resource File Pack URI, dove il prefisso viene aggiunto automaticamente da WPF.

+0

Grazie, funziona fantastico –

1

due opzioni:

1) Uscire da bin/Debug e la cartella dell'applicazione da ../../ e quindi alla vostra immagine.

<Image> 
     <Image.Source> 
      <BitmapImage UriSource="../../images/jamsnaps-dark.png" /> 
     </Image.Source> 
    </Image> 

2) Compilare le immagini come Content dalle proprietà nel menu contestuale sul file di immagine, e poi quando compilati sarebbero stati messi in stato di debug. Non ricordo se anche avete bisogno di dire loro di copia locale anche nelle proprietà (io non sono vicino a un computer al momento quindi non posso controllare.

+0

Cheers, ha funzionato ma altre risposte hanno spiegato un po 'meglio :) –

+0

Ha fatto qualcos'altro. che è anche buono Il punto di questo è sapere dove stai localizzando i tuoi file, potrebbero essere rispettati come risorse/contenuti o semplicemente inseriti nella tua soluzione. non ricordo i pro e i contro di ogni metodo .. –

Problemi correlati