2011-08-19 152 views
2

我想要一些資源包含在生成的.exe文件中,如許多圖像。但是我無法從XAML文件中的RibbonCommands訪問這些資源(圖像)。C#,WPF,嵌入式資源/嵌入式資源

我已經標記了這些文件,並將它們的屬性更改爲「Embedded Resources」, ,但在代碼和XAML文件中引用它們時遇到問題。

主窗口我也做了以下內容:

其中一期工程!

但RibbonCommands似乎無法找到嵌入式資源。

<r:RibbonCommand x:Key="ScanCommand" 
       LabelTitle="{x:Static const:strings.Scan}" 
       ToolTipDescription="{x:Static const:strings.ScanToolTip}" 
       Executed="ScanDisplayUnit" 
       LargeImageSource="/EasyLink;component/ScanIcon48x48.png" 

我得到的錯誤信息是:

「/EasyLink;component/ScanIcon48x48.png」不是項目

,或者它生成操作屬性未設置的一部分到「資源」

是否無法在功能區中使用「嵌入式資源」?

是否正確理解「嵌入式資源」和「資源」之間的不同之處在於 「嵌入式資源」包含結果.exe文件中的資源,但「資源」不會執行此操作?

+1

在這裏看到:[WPF圖像資源] [1]我認爲這是一切說 [1]:http://stackoverflow.com/questions/347614/wpf-image-resources – Carsten

+0

沒有,他們正在描述如何獲取圖像作爲資源(仍然在.exe之外),但它沒有描述如何訪問「嵌入式圖像」,即使是這一個http://stackoverflow.com/questions/5076927/wpf-accessing-an -embedded-resource-in-xaml指的是「資源」而不是「嵌入式資源」 –

+0

您是否將Build Action設置爲「Resource」有問題?我的理解是這個設置可以更容易地訪問XAML中的資源......並且它仍然將資源嵌入到程序集中。 – IanR

回答

2

我剛剛測試過這個,正如我的想法 - 「嵌入式資源」和「資源」之間的差異不是,它將資源嵌入到程序集中,而其中一個不是。他們都這樣做。

我認爲主要區別在於「資源」提供了一種WPF應用程序更易於訪問的資源管理方案,因此這是您應該用於圖像的選項。