【发布时间】:2013-09-05 06:53:37
【问题描述】:
我有以下几点:
<BitmapImage UriSource="{Binding resource}" />
其中 resource 是类中的字符串,用于保存图像的位置。这在资源是绝对路径时有效,但在路径是相对路径时无效。
我知道我必须使用pack URI。但是在这种情况下我该如何实现呢?
【问题讨论】:
-
你能在什么时候显示实际路径,什么时候不工作??
我有以下几点:
<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>
b.直接将图像添加到项目中,右键单击图像,选择属性并将构建操作-> 内容和“复制到输出目录”设置为“始终复制”。这会将旁边的图像文件复制到创建 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>
【讨论】:
尝试对包含图像位置的字符串使用pack URI
pack://siteoforigin:,,,/yourimagefilename.jpg
【讨论】:
DirectoryNotFoundException 声明找不到路径的一部分。在路径中,我注意到“..”消失了,所以它变成了“Bin/Data/myImage.jpg”。