我在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;
我试图弄清楚如何在不改变程序结构的方式的情况下将绝对路径转变为相对路径,但即使在环顾几个小时之后,我也似乎无法做到正确。 / p>
答案 0 :(得分:0)
您可以将图像添加到解决方案中并像这样引用它:
b1.ImageSource = new BitmapImage(new Uri(@"..\Image\example.jpg"));
答案 1 :(得分:0)
这种方法可以节省使用Prism
,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;