2012-08-14 174 views
41

我有一個WPF窗口,其中有一個文件在我本地系統中的背景圖像。因此,XAML文件看起來像這樣:加載圖像時,WPF拋出「找不到資源」異常

<Window.Background> 
    <ImageBrush ImageSource="/MYASSEMBLY;component/Resources/MyPic.png"/> 
</Window.Background> 

在XAML設計,它實際上顯示了這個背景圖像,所以圖像不會在MyAssembly程序\ Resources文件夾存在。但是,在啓動應用程序的InitializeComponent()函數調用時,它會拋出異常

無法找到資源'resources/mypic.png'。

所以我現在完全失去了。目錄與設計和運行時間不同,因此運行時不存在?

+0

您是否設置了對dll的引用? – 2012-08-14 08:52:29

+0

建立模式的圖像? (看到設計師的東西說*沒有*) – 2012-08-14 08:53:04

+0

謝謝@ H.B。 ,就像我對答案評論的那樣,我甚至沒有把這個圖像包含到項目中。我猜設計師和運行時的行爲不同,對於像我這樣的新人來說有點混亂。 – tete 2012-08-14 09:12:59

回答

105

在解決方案探索,設置圖像「建設行動」屬性「資源」,然後乾淨解決方案,並重建它。

+0

謝謝,解決了這個問題。我以爲它會在運行時加載圖片,所以我甚至沒有將圖片添加到項目中。 – tete 2012-08-14 09:11:33

+15

是的,不要忘記做乾淨和重建..作爲嗡嗡聲說..很容易錯過的..我做:) – invalidusername 2014-01-13 13:53:01

+1

呵呵,我們大多數人,包括操作,並沒有真正擁有該屬性問題,但我們沒有想到如果解決方案資源管理器中的映像已存在於物理目錄中,則需要它。說實話,這是探索者所需要的。謝謝! – 2015-05-31 01:06:43

0

WPF拋出「無法找到資源」異常,當我使用locbaml工具進行本地化時出現此問題,當我編譯時,出現此錯誤。有很多資源合併字典參考因此,將「資源」設置爲「資源」的資源xaml文件的Build Action屬性確實解決了問題。