我有一系列在线存储的图像,我尝试在我的通用Windows Phone应用程序中以编程方式访问。 有没有办法找出所选参数的图像是否存在,如果没有,请改用图像占位符?
var img = new BitmapImage(new Uri("url?ID_IMMAGINE=" + idImg1 + "&HEIGHT=100", UriKind.Absolute))
这就是我获取图片的方式。
答案 0 :(得分:2)
您可以附加ImageFailed
事件的处理程序来设置URI的回退值:
var defaultImageUri = new Uri("ms-appx:///Assets/DefaultImage.png");
var bitmap = new BitmapImage();
bitmap.ImageFailed += (s, e) => bitmap.UriSource = defaultImageUri;
bitmap.UriSource = new Uri(...);
答案 1 :(得分:0)
您无法使用async for Converter。异步方法的返回类型必须是void,Task,Task<T>
。那不能用于转换方法
try
{
var img = new BitmapImage(new Uri("url?ID_IMMAGINE=" + idImg1 + "&HEIGHT=100", UriKind.Absolute));
if (img == null)
{
img = new BitmapImage(new Uri("defaultImage.png",UriKind.RelativeOrAbsolute));
}
}
catch
{
img = new BitmapImage(new Uri("defaultImage.png", UriKind.RelativeOrAbsolute));
}
如果您真的想使用转换器,请完成此Stackoverflow link