我讀過很多示例。而我所擁有的似乎是正確的。但是,當它加載失敗。無法獲取WPF中的png作品C#代碼
這裏是我的代碼:
LargeImage=new BitmapImage(new Uri("pack://application:,,,/Images/books_48.png"))
這段代碼在運行AssemblyA。 AssemblyA的項目中還有一個名爲Images的文件夾。該文件夾有一個名爲books_48.png的文件。它被設置爲「資源」編譯並且從不復制。
我用DotPeek來查看圖像是否在AssemblyA.dll中,並且它在那裏。
第一次參考LargeImage
在AssemblyB中。它將LargeImage綁定到FluentRibbon Fluent:Button.LargeIcon。
當談到時間來加載的BitmapImage我得到這個錯誤:
Cannot locate resource 'images/books_48.png'.
如何得到這個加載任何想法?
注:我也曾嘗試這些:
"pack://application:,,,/AssemblyA;component/Images/books_48.png"
"pack://application:,,,/AssemblyA;Images/books_48.png"
"pack://application:,,,/AssemblyA;/Images/books_48.png"
"pack://application:,,,/Images/books_48.png"
"pack://application:,,,Images/books_48.png"
"Images/books_48.png"
"/Images/books_48.png"
他們全都給我的錯誤(或者「找不到」或「無效的URI」之類的錯誤)。
不應該是嵌入式資源嗎? –
@PaulSullivan - 在對此答案的評論(http:// stackoverflow。com/a/483891/16241),人們似乎認爲嵌入式資源在99%的時間內是錯誤的。關於在應用程序中包含圖像兩次。 – Vaccano
是的,就我所知,它應該只是資源。 Vaccano - 做大會B參考大會A?或者,他們都加載到另一個可執行文件...或? – Tim