2012-10-02 10 views
11

Ich möchte eine BitmapImage von meiner Resources.resx zu einer Image zuweisen. Ich habe zuvor ein PNG-Bild in Resources.resx gespeichert. Dieses Bild befindet sich jetzt in "/Resources/logo.png".BitmapImage von Resources.resx zu Image.Source zuweisen?

Nach mehreren SO Beiträge und andere Artikel zu lesen habe ich dies jetzt:

logoImage.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resources/logo.png")); 

Leider funktioniert es nicht. Ich weiß nicht, wie ich das lösen soll.

Ich habe versucht, die Pack-URI durch den vollständigen Pfad zu ersetzen, und es hat funktioniert, aber ich möchte relative Pfade verwenden, um die gleiche Quelle auf verschiedenen Maschinen zu verwenden, auf denen der absolute Pfad falsch wäre.

Kann mir jemand dabei helfen? Vielen Dank im Voraus!

Antwort

23

Damit dieser Uri funktioniert, muss die Datei logo.png in einem Ordner namens "Resources" in Ihrem VS-Projekt enthalten sein (siehe erstes Bild), und die Build-Aktion muss auf Ressource gesetzt sein (siehe zweites Bild)).

VS Project

Build Action

Dieser Ordner Resources ist Resources.resx völlig unabhängig. Sie können es umbenennen, was auch immer Sie mögen.

+1

danke! Ich habe vergessen, BuildAction zu Resource -.- ' – TorbenJ

+0

Danke !! Aber warum ist das nicht der Standardweg? –