WPF 应用程序中的相对路径

本文关键字:相对 路径 应用程序 WPF | 更新日期: 2023-09-27 18:37:19

我正在用VS2013编写这个WPF应用程序,我无法弄清楚如何将我的绝对路径转换为相对路径。

该应用程序涉及在某些操作发生时更改网格背景。我目前是这样做的:

ImageBrush b1 = new ImageBrush();
b1.ImageSource = new BitmapImage(new Uri(@"C:'Users'spectre'Documents'Visual Studio 2013'Projects'eGym v2'eGym v1'eGym v1'resources'example.jpg"));
grid1.Background = b1;

我试图弄清楚如何在不改变太多程序结构的情况下将该绝对路径转换为相对路径,但即使环顾四周几个小时,我似乎也无法正确理解。

WPF 应用程序中的相对路径

这种方法使我节省了使用Prism的WPF应用程序,MVVM Light

var myBrush = new ImageBrush();
var image = new Image{
     Source = new BitmapImage(new Uri("pack://application:,,,/YourApplicationName;component/Images/example.jpg"))};
myBrush.ImageSource = image.Source;
grid1.Background = myBrush;

可以将图像添加到解决方案中并按如下所示引用它:

b1.ImageSource = new BitmapImage(new Uri(@"..'Image'example.jpg"));