public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var uri = value as Uri; if (uri == null) { return(new BitmapImage(defaultUri)); } try { var image = new BitmapImage(); image.BeginInit(); image.DecodePixelWidth = int.Parse((string)parameter); image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = uri; image.EndInit(); while (image.IsDownloading) { WpfUtil.DoEvents(); } return(image); } catch { return(new BitmapImage(defaultUri)); } }