c#显示JPG图像与WPF不工作
本文关键字:WPF 工作 图像 显示 JPG | 更新日期: 2023-09-27 18:05:20
对于一个项目,我必须在没有数据绑定的情况下显示JPG照片,并且不使用源代码进入XAML文件。要做到这一点,我想使用这个函数:
private void updatephoto(string urlphoto)
{
photo.Source = new BitmapImage(new Uri(String.Format("{0}", urlphoto), UriKind.Relative));
}
因为我的老师在他的例子中使用了它,对他来说它有效!!我的班级是这样组成的(这是节选):
class Recette
{
public String photo { get; private set; }
}
的构造函数接受一个String作为相对路径。使用相对路径可以在XAML文件中使用Source=" nameofffile .jpg",但当在我的MainWindows.xaml.cs中,我想使用以下方式显示照片:
Recette selectedRecette;
void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
selectedRecette = (sender as ComboBox).SelectedItem as Recette;
updatephoto(selectedRecette.photo);
}
最后一行调用:
private void updatephoto(string urlphoto)
{
photo.Source = new BitmapImage(new Uri(String.Format("{0}", urlphoto), UriKind.Relative));
}
在XAML中图像是:
< Image Height="100" Name="photo" HorizontalAlignment="Center"/ >
我不明白为什么这个不行
你说绝对路径工作,这是伟大的!您的代码完全按照预期工作。
你可以使用绝对路径,语句:
String path = @"C:'Users'user'Documents'Visual Studio 2013'Projects'projetf - Copie'td6bis'flamby.jpg";
是完全有效的,因为有"@"符号。它表示整个字符串是字符串字面值,因此'''字符不会转义任何内容。
如果你真的需要相对路径,很可能路径并没有指向你认为的地方。关键是所有相对路径都是相对于可执行文件的工作目录的。这通常是可执行文件所在的文件夹,但有些地方会变得很奇怪。
相对路径快速入门:
如果你的路径只是一个文件名(例如。
如果路径看起来像正常路径(例如。@"Images'test.jpg"),那么它将在包含图像文件的执行目录中寻找一个名为"Images"的文件夹。
如果你有点,那么它"向上"的目录树(即。@". . ' ' test.jpg图片")。这将从执行目录上升到一个目录,查找名为"Images"的文件夹,并在其中查找图像文件。
完全随机信息;表述String.Format({0}, "MySTring")
和"MySTring"
做同样的事情。String没有存在的理由。