【发布时间】:2014-05-27 18:06:02
【问题描述】:
对于一个项目,我必须在没有数据绑定的情况下显示 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; }
}
使用允许字符串作为相对路径的构造函数。在带有 Source="nameofile.jpg" 的 XAML 文件中使用相对路径可以正常工作,但是在我的 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"/ >
所以我不明白为什么这不起作用
【问题讨论】:
-
在什么情况下不起作用?更具体
-
“编译”时什么都没有出现,它是空白的,但是如果我直接在XAML代码中输入Source="namephoto.jpg",我可以正常看到照片:/
-
硬编码“更新照片”中的字符串是否有效?您从组合框中获取的数据会是垃圾吗?
-
数据是正确的,我已经在文本框中显示它,这是文件的好名字,如果我直接在 updatephoto 中硬编码字符串,它也不起作用:(还有其他想法吗?如果您更喜欢我可以截取我的窗口或上传项目,或者如果有人愿意并且有时间,可以上传 Teamviewer/Skype:/?
-
你有很多信息,只是试图填补一些空白。如果您可以访问您的讲师示例,您是否检查过相对路径是否相同,该文件实际上是否可以通过相对路径访问?绝对路径有用吗?