2014-12-23 78 views
0

我很難過。我正試圖顯示嵌入在另一個程序集中的圖像。我嘗試了幾件事,但迄今爲止沒有任何工作。我確信我錯過了一些非常簡單的事情。爲什麼我的圖像無法找到資源?

目前,XAML中看起來是這樣的:

<Image> 
    <Image.Source> 
     <BitmapImage UriSource="pack://application:,,,/Name.Of.Assembly;component/Resources/Icons/icon.png" /> 
    </Image.Source> 
</Image> 

我本來的XAML看起來像這樣:

<Image Source="pack://application:,,,/Name.Of.Assembly;component/Resources/Icons/icon.png" /> 

我打開它希望它會有所作爲。 (它沒有。)

我在項目中參考Name.Of.Assembly我試圖創建一個圖像。在程序集Name.Of.Assembly中,有一個名爲Resources的目錄,其中有一個名爲Icons的子文件夾,其中包含image icon.png。 icon.png上的構建動作設置爲嵌入式資源

當我嘗試運行,我得到一個XamlParseException

'Initialization of 'System.Windows.Media.Imaging.BitmapImage' threw an exception' 

,其內部的例外是:

'Cannot locate resource 'resources/icons/icon.png' 

它就像它不是在組裝的資源尋找。爲什麼它無法加載圖像?我錯過了什麼?

+0

嘗試用'component/Resources'替換'component; Resources'' – dkozl

+0

doh!這實際上是我發佈我的問題的錯字。 –

+0

和生成操作應設置爲'資源' – dkozl

回答

0

我找到了解決我的問題:

第一個問題可能是有我的生成操作設置爲Embedded Resource而不是Resource。一旦我改變了這個,我在包含資源的項目上運行了一個Build,但我沒有注意到任何不同。

根據Sean Nelson's suggestion,我做了Clean,然後是Rebuild該項目。

圖像現在正在顯示。