2010-06-10 2 views
7

Ho un'app wpf in cui sto usando un'immagine. Per fare riferimento l'immagine che uso:Uri per bitmap in sottocartella (C# wpf)

Uri uri = new Uri("pack://application:,,,/assemblyName;Component/myIcon.png"); 
BitmapImage(uri) 

Se aggiungo il png direttamente sotto il file csproj (con le sue proprietà BuildAction = Risorsa) allora funziona benissimo.

Ma voglio spostarlo in una sottocartella sotto il csproj. Un'altra domanda SO è stata fatta su bitmaps \ uri's (857732) e una risposta collegata a questo msdn. Così ho provato:

Uri uri = new Uri("pack://application:,,,/assemblyName;Component/Icons/myIcon.png"); 

Ma questo non ha funzionato.

Qualche idea?

risposta

13

Se l'immagine è nella soluzione (cioè, non si fa riferimento l'immagine da un altro assembly), si dovrebbe essere in grado di utilizzare questa sintassi:

Uri uri = new Uri("pack://application:,,,/Icons/myIcon.png", UriKind.Absolute); 

In alternativa, è possibile utilizzare un parente Uri come segue:

Uri uri = new Uri("/Icons/myIcon.png", UriKind.Relative);