如何将WPF参考图像添加为图像资源?

时间:2011-04-27 17:47:34

标签: c# .net wpf image

我有一个WPF应用程序,我将图像作为资源添加到项目中(而不是从项目设置,如第二个答案如何进行here),因此它们位于文件夹下。我在xaml中使用它们:

<Image Width="32" Height="32" Source="/Images/Effect.png" />

当我构建这个应用程序时,只有依赖的dll和应用程序本身被放入Debug/Release文件夹。驻留在项目中的图标以及实际的文件夹和文件位于项目的文件夹中。这些不会被复制到Debug/Release

我能够从任何地方运行这个应用程序,图像工作,所以它必须将相对路径转换为硬编码路径?

如果是这样的话,我怎么能将这些图像文件分发给其他机器呢?

我希望能够在引用和磁盘上始终拥有相对于应用程序的图像。

这是最好的方式还是有更好的方法?最后,我想轻松地将这些图像和应用程序分发到其他机器上。

1 个答案:

答案 0 :(得分:3)

图像作为资源被编译到程序集中。它们不会从磁盘上的原始位置引用。

当您指定Image.Source时,WPF会在当前程序集中查找相应的图像。您还可以引用驻留在引用的程序集中的图像(以及其他资源)。 Here是关于WPF中资源URI格式的详细说明(称为“包URI”)。