2012-10-02 120 views
11

我想從我的Resources.resx中指定一個BitmapImageImage。 事先我將一個.png圖像保存到Resources.resx。此圖片現在位於「/Resources/logo.png」中。將Resources.resx中的BitmapImage指定給Image.Source?

讀取多個SO員額和其他物品後,我現在有這樣的:

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

遺憾的是它不工作。 我不知道如何解決這個問題。

我試圖用完整路徑替換Pack-URI,它的工作原理,但我想使用相對路徑,以便在絕對路徑不正確的不同機器上使用相同的源。

任何人都可以幫我解決這個問題嗎? 在此先感謝!

回答

23

爲了使該Uri正常工作,文件logo.png必須包含在VS項目中名爲「Resources」的文件夾中(請參閱第一張圖片),並且其Build Action必須設置爲Resource(請參閱第二張圖片)。

VS Project

Build Action

這個資源文件夾是完全無關的Resources.resx。你可以將它重命名爲任何你喜歡的。

+1

謝謝!我忘了將BuildAction更改爲資源-.-' – TorbenJ

+0

謝謝!但爲什麼不這是默認的方式? –