将Resources.resx中的BitmapImage分配给Image.Source?

我想从我的Resources.resx中分配一个BitmapImage到一个Image 。 事先我将.png图像保存到Resources.resx。 此图片现在位于“/Resources/logo.png”中。

在阅读了几篇SOpost和其他文章后,我现在有了这个:

 logoImage.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resources/logo.png")); 

不幸的是它不起作用。 我不知道如何解决这个问题。

我试图用完整路径替换Pack-URI并且它工作但是我想使用相对路径以便在绝对路径不正确的不同机器上使用相同的源。

任何人都可以帮我解决这个问题吗? 提前致谢!

为了使Uri工作,文件logo.png必须包含在VS项目中名为“Resources”的文件夹中(请参阅第一张图片),并且其Build Action必须设置为Resource(请参阅第二张图片)。

VS项目

建立行动

此Resources文件夹与Resources.resx完全无关。 您可以将其重命名为您喜欢的任何内容。