2
我正在尝试将图像的网址(BigImageURL)与图像控件绑定。它主要工作正常,但对于一些图像我得到HTTP 403错误(发现使用提琴手),显然图像不显示。我想要显示一个静态图像,以防http url未解析。Silverlight图像绑定问题
<Image x:Name="HoverImage" Source="{Binding BigImageURL}" />
我试着写一个转换器
public class UriToImageSourceConverter : IValueConverter
{
public object Convert(object value, Type targetType,object parameter, CultureInfo culture)
{
BitmapImage image = null;
try
{
image = new BitmapImage(new Uri(value.ToString()));
}
catch (Exception ex)
{
image= new BitmapImage(new Uri("..<mydefaultimageUrl>.."));
}
return image;
}
...
}
<Image x:Name="HoverImage" Source="{Binding BigImageURL,Converter={StaticResource myUriToImageSourceConverter}" />
没有工作! 即使图片url无法访问,转换器也没有抛出任何异常。我不认为它会尝试在创建BitmapImage时解析地址或读取图像流
尝试设置FallbackValue,但它也不起作用。
<Image x:Name="HoverImage" Source="{Binding BigImageURL,FallbackValue=DefaultUrl}"/>
任何指针?
在此先感谢
谢谢Ai_boy,我华在视图模型中处理它,但这是一个不错的选择。 – 2011-03-16 15:33:58
很伤心,但是Siverlight的设计就是这样。如果你想在“视图模型”中处理这个事件,请看MVVM light“eventToCommand”http://channel9.msdn.com/shows/SilverlightTV/Silverlight-TV-13 -MVVM-光工具包/ – 2011-03-16 15:38:36