在我的WPF应用程序中,我在图像中加载的PNG徽标在设计时显示,但在运行时不显示

这可能是我想念的简单事情。 我有一个png文件,我想在我的WPF窗口中用作* Image *控件的源代码。 我通过项目属性>资源>添加现有文件添加了这个PNG文件,并首先作为链接文件(然后当它不起作用时嵌入)。然后我将XAML文件中的图像控件的* Source *添加到此。 没有代码,简单点击。

令人烦恼的问题是,当我设计WPF窗口时,图像显示。 当我运行它时,它不会。 什么也没出现。

更新:下面添加了XAML代码

        

我错过了什么? 谢谢

在XAML中指定图像URI时,通常不必编写完整的URI。 除了另一个答案中显示的完整Pack URI之外,您还应该能够写下这个:

  

但是,您必须确保图像文件位于Visual Studio项目中名为images的文件夹中,并且其Build Action设置为Resource , 如此答案所示。

或者,您可以将构建操作设置为Content并将复制到输出目录设置Copy always Copy if newerCopy if newer 。 在这种情况下,图像不会作为资源嵌入到程序的程序集中,而只是复制到相对于可执行文件的目录中。

XAML中的(相对)图像URI在两种情况下都有效。

只有在您的其他executables (输出文件夹)所在的位置复制文件时,才应使用siteOfOrigin 。 对于Resources,您应该使用application

 Source="pack://application:,,,/images/ServerMainLogo.png" 

有关进一步说明包URI的信息,请参阅此链接。

  • 确保项目中的图像属性具有“Build Action”=“Resource”,而不是“Embedded Resource”
  • 在xaml中,选择图像标记后,使用属性窗口选择Source下拉列表,因为图像显示在下拉列表中! 这让visual studio为我格式化了字符串。 字符串visual studio格式化

    对于我的形象是:

    Source="pack://application:,,,/FamilyExplorer;component/Resources/Folder.png"/>

FamilyExplorer是我的项目名称, Resources/Folder.png是图像的位置。