2010-07-12 18 views
6

HejCosa c'è di sbagliato con questo URI?

Sto tentando di caricare un'immagine (incorporata) in un'applicazione wpf, utilizzando un Uri ma continuo a ricevere un'eccezione.

Il codice è:

new BitmapImage(new Uri("pack://application:,,,,/Icons/m.png")); 

(Nel caso in cui non è chiaro, sto cercando di caricare il file m.png dalla cartella icone, che è stato contrassegnato come un ressource incorporato).

e l'eccezione è

NotSupportetException (the URI prefix is not recognized) 

Qualcuno può dirmi che cosa l'uri avrebbe dovuto essere?

risposta

2

Si può dare un'occhiata a this blog post. La soluzione è quella di registrare un parser URI personalizzato in modo che riconosca il protocollo pack:

UriParser.Register(
    new GenericUriParser(GenericUriParserOptions.GenericAuthority), "pack", -1 
); 
+0

Nel caso qualcuno venga a questa pagina cercando la risposta, puoi farci sapere che cosa è stato in quel post che ha aiutato? – Foole

+0

@Foole, questo risolve il problema: 'UriParser.Register (new GenericUriParser (GenericUriParserOptions.GenericAuthority)," pack ", -1)'. –

4

tre virgole devono essere invece di quattro nella stringa:

new BitmapImage(new Uri("pack://application:,,,/LibName;component/Icons/m.png")); 

LibName - punti di riunione in cui è ospitato risorsa.

+0

Questo genera un'eccezione pure. –

+0

Io non la penso così. Se si tratta di un'app WPF, non dovrebbe generare eccezioni. –

+0

Hai ragione, ma non è stato sufficiente per risolvere il problema. – tomjen

Problemi correlati