【问题标题】:Image Source does not locate image file in working directory图像源在工作目录中找不到图像文件
【发布时间】:2011-04-06 01:51:16
【问题描述】:

我是 WPF 新手,在定位按钮上的图像文件时遇到问题。

放一个相对路径就不行了,如图(Window1.xaml):

<Button Height="23" HorizontalAlignment="Right" Margin="0,33,38,0" Name="button1" VerticalAlignment="Top" Width="24" Background="AliceBlue" OpacityMask="Cyan" Grid.Column="1" Click="button1_Click">
    <Image Source="Folder-icon.png"></Image>
</Button>

但是,当我输入绝对路径时,它会起作用:

<Button Height="23" HorizontalAlignment="Right" Margin="0,33,38,0" Name="button1" VerticalAlignment="Top" Width="24" Background="AliceBlue" OpacityMask="Cyan" Grid.Column="1" Click="button1_Click">
    <Image Source="D:\Folder-icon.png"></Image>
</Button>

我尝试用图片描述我的文件夹结构。

希望有人可以指导我使用相对路径将图像加载到同一工作区中的按钮。

【问题讨论】:

  • 目前我必须手动将图像文件复制到D:\,然后才找到它。

标签: c# wpf image


【解决方案1】:

如果您比较两种情况的 Image.Source 值,您会在转换中看到它确实有效,底层 Uri 看起来像:

file:///D:/Folder-icon.png

在它不起作用的情况下,Image.Source 值为 null。问题是如果没有完整路径,WPF 会假定它是嵌入资源的相对路径,而不是磁盘上的文件。

link 提供了 URI 的详细描述。但是你需要使用类似下面的东西来使用相对路径。

pack://siteoforigin:,,,/Folder-icon.png

另外注意,默认路径将在&lt;Your Project Path\bin\Debug 文件夹中,而不是&lt;Your Property Path&gt; 文件夹中。

【讨论】:

  • 感谢您的建议。默认路径在 中。它在我更改为 后工作
  • @wengseng 这(“.\.\Folder-icon.png”)对我不起作用。我尝试使用“pack://siteoforigin:,,,.\.\ /Picture/ Folder.png”这种格式并且相当有效。
【解决方案2】:

如果是因为你没有给它正确的路径。这里是示例

/EmailScrapperWpf;component/Images/SearchDog.gif

就像/projectname;then path where your image is placed

我认为在你的情况下应该是

 <Image Source="/WPF1;Folder-icon.png"></Image>

当您选择Image时从属性中选择图像并按F4,源导航到图像然后查看选择图像后显示的路径,您必须将该路径放在Source=""

【讨论】:

  • 它仍然不适合我......即使我只是将它添加到我的解决方案中。按 F4 后,我可以看到“完整路径”和“文件名”。更改 都不是工作...
  • ok 做一个测试 从工具箱中删除一个图像控件右键单击它并转到属性然后选择源它将打开一个新的弹出窗口,您可以从中转到图像的位置并选择它。当您选择它时,该窗口中将显示路径,复制完整路径并将其粘贴到该图像的Source标签中。然后按F5
猜你喜欢
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
  • 2021-08-24
  • 1970-01-01
  • 2022-08-13
相关资源
最近更新 更多