【问题标题】:C#, WPF, Embedded resources/embedded resourcesC#、WPF、嵌入式资源/嵌入式资源
【发布时间】:2011-10-30 11:15:22
【问题描述】:

我希望在生成的 .exe 文件中包含一些资源,例如一些图像。但我无法从 XAML 文件中的 RibbonCommands 访问这些资源(图像)。

我已标记文件并将其属性更改为“嵌入式资源”, 但在代码和 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”不是项目的一部分

或者它的 Build Action 属性没有设置为“Resource”

难道不能在 Ribbons 中使用“嵌入式资源”吗?

是否正确理解“嵌入式资源”和“资源”之间的区别在于 “嵌入式资源”包含生成的 .exe 文件中的资源,但“资源”不这样做?

【问题讨论】:

  • 看这里:[wpf 图像资源][1] 我想有什么都说[1]:stackoverflow.com/questions/347614/wpf-image-resources
  • 不,他们正在描述如何将图像作为资源访问(仍在 .exe 之外)但它没有描述如何访问“嵌入式图像”,即使是这个 stackoverflow.com/questions/5076927/… 参考“资源" 而不是 "嵌入式资源"
  • 您对设置为“资源”的构建操作是否有问题?我的理解是,此设置可以更轻松地访问 XAML 中的资源......并且它仍然将资源嵌入程序集中。

标签: c# wpf image ribbon embedded-resource


【解决方案1】:

我刚刚对此进行了测试,正如我所想 - “嵌入式资源”和“资源”之间的区别不是一个将资源嵌入到程序集中而一个没有。他们都这样做。

我认为主要区别在于“资源”提供了一种更易于 WPF 应用程序访问的资源管理方案,因此您应该为图像使用该选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多