如何找出图像的相对路径

时间:2013-01-25 14:00:05

标签: c# wpf image xaml imagesource

在传统项目中,图像有绝对路径, 例如:

C:/projects/LegacyProject/Project/Client/UserInterface/Images/arrow.png

现在我想使用相对路径,以便每个开发人员都可以使用它 项目,无论他在哪里都有他的源代码副本。

有没有一种简单的方法可以找到(资源)相对路径? 我怎么用呢?

目前我有:

<Image Source="C:/projects/LegacyProject/Project/Client/UserInterface/Images/arrow.png" Stretch="Fill" />

我想要的是:

<Image Source="arrow.png" Stretch="Fill" />

尝试

<Image Source="pack:,,, arrow.png" Stretch="Fill" />
<Image Source="/WPF1;arrow.png"></Image> 

和类似的事情

2 个答案:

答案 0 :(得分:4)

将图像文件放入Visual Studio项目中的文件夹(名为Images),并将build action设置为Resource

现在你可以在XAML中使用它们,就像这样:

<Image Source="Images/arrow.png" ... />

在代码隐藏中你必须写

var uri = new Uri("pack://application:,,,/Images/arrow.png");
image.Source = new BitmapImage(uri);

答案 1 :(得分:2)

点击

,使用Source控件的Image属性添加图片

enter image description here

然后路径将是这样的:

/[project name];component/[folder name: e.g. Images]/[file name]