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

时间:2012-10-02 13:02:21

标签: c# wpf uri

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:27)

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

VS Project

Build Action

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