C#, WPF, 嵌入资源/嵌入资源

7 浏览
0 Comments

C#, WPF, 嵌入资源/嵌入资源

我想在生成的.exe文件中包含一些资源,比如一些图片。但是我在XAML文件中无法访问这些资源(图片)。

我已经将这些文件标记并将其属性更改为“嵌入式资源”,

但在代码和XAML文件中引用它们时出现问题。

对于主窗口,我已经做了以下操作:

这个是有效的!

但是RibbonCommands似乎无法找到嵌入的资源。

错误信息如下:

“/EasyLink;component/ScanIcon48x48.png”不是项目的一部分

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

在Ribbon中不可能使用“嵌入资源”吗?

我正确理解“嵌入资源”和“资源”之间的区别是,

“嵌入资源”将资源包含在生成的.exe文件中,而“资源”不会这样做?

0
0 Comments

C#中提供了两种将资源嵌入程序集中的方法:"Embedded Resource"和"Resource"。通过测试,发现这两种方法都可以将资源嵌入程序集中。

然而,它们之间的主要区别在于"Resource"提供了一种对WPF应用程序更加可访问的资源管理方案,因此在处理图像等资源时,应该使用"Resource"选项。

具体来说,使用"Resource"选项可以更方便地在WPF应用程序中访问和使用嵌入的资源。而"Embedded Resource"选项则在访问资源时可能需要进行一些额外的操作。

解决方法:在处理图像等资源时,应该选择"Resource"选项,以便更好地适配和管理WPF应用程序中的资源。

以下是使用"Resource"选项嵌入资源的示例代码:


    
        
    

在上述示例中,通过使用"Resource"选项将名为"myImage.jpg"的图像资源嵌入到WPF应用程序中,并在XAML代码中通过`Image`元素的`Source`属性引用该资源。

通过选择正确的资源嵌入选项,可以更好地管理和使用WPF应用程序中的资源,提高程序的可维护性和可访问性。

0