2

在遗留项目中有图像的绝对路径,例如:

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> 

和类似的事情

4

2 回答 2

4

将图像文件放入 Visual Studio 项目中的文件夹(假设为Images),并将其构建操作设置为Resource.

现在您可以像这样在 XAML 中简单地使用它们:

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

在代码隐藏中,您必须编写

var uri = new Uri("pack://application:,,,/Images/arrow.png");
image.Source = new BitmapImage(uri);
于 2013-01-25T14:09:23.570 回答
2

通过单击使用控件的Source属性添加图像Image

在此处输入图像描述

那么路径将是这样的:

/[project name];component/[folder name: e.g. Images]/[file name]
于 2013-01-25T14:22:56.700 回答