我有以下内容:
<BitmapImage UriSource="{Binding resource}" />
其中,resource 是类中的字符串,用于保存图像的位置。这在资源是绝对路径时有效,但在路径是相对路径时无效。
我知道我必须使用pack URI。但是在这种情况下我该如何实现呢?
以下是您可以在项目中使用图像的 3 种方法。
一个。直接将图片添加到项目中,右键图片,选择属性,设置Build Action -> Resource。这会将图像编译成程序集(exe/dll)
<Image Source="Grapes.png" Stretch="None"></Image>
如果您在项目中创建了一些文件夹说“图像”并将图像添加到该文件夹中,那么路径将是
<Image Source="Images\Grapes.png" Stretch="None"></Image>
湾。将图像直接添加到项目中,右键单击图像,选择属性并将构建操作 -> 内容和“复制到输出目录”设置为“始终复制”。这会将旁边的图像文件复制到创建 EXE 的文件夹中的 EXE。(bin\debug 或 bin\release)
<Image Source="Orange.png" Stretch="None"></Image>
如果您在项目中创建了一些文件夹说“图像”并将图像添加到该文件夹中,那么路径将是
<Image Source="Images\Orange.png" Stretch="None"></Image>
C。不要将图像添加到文件夹中。而是将图像直接复制到将创建 EXE 的文件夹中(bin\debug 或 bin\release)。当您运行应用程序时,siteoforigin 将等于您的可执行文件的位置。
<Image Source="pack://siteoforigin:,,,/Apple.png" Stretch="None"></Image>
尝试对包含图像位置的字符串使用包 URI
pack://siteoforigin:,,,/yourimagefilename.jpg