我一直在浏览不同的帖子,试图找出我的问题出了什么问题。基本上,我的用户控件上有一个 Image 标签,而我想绑定到一个 url 的 Source。但是,这不起作用。我尝试使用返回的 ValueConverter,BitmapImage(new Uri((string)value));
但这不起作用。我唯一能得到的是你不能绑定到一个url,你必须下载你想要绑定的图像。我不想下载我搜索的所有图像。是否有解决方法来完成此任务而无需在本地下载图像。我认为 ValueConverter 方法通过返回 BitmapImage 是最好的。请帮忙?
public class MyViewModel
{
private string _posterUrl;
public string PosterUrl
{
get
{
//Get Image Url, this is an example and will be retrieved from somewhere else.
_posterUrl = "http://www.eurobuzz.org/wp-content/uploads/2012/08/logo.jpg";
return _posterUrl;
}
set
{
_posterUrl = value;
NofityPropertyChanged(p => p.PosterUrl);
}
}
}
这是我的值转换器:
public class BitmapImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(value is string)
return new BitmapImage(new Uri((string)value, UriKind.RelativeOrAbsolute));
if(value is Uri)
return new BitmapImage((Uri)value);
throw new NotSupportedException();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
这是我的 XAML:
<Image Source="{Binding PosterUrl, Converter={StaticResource bitmapImageConverter}}" Width="100" Height="100" />
所以这是绑定到包含 imageurl 的 PosterUrl 属性,并将其转换为位图图像。有任何想法吗?