public BitmapImage FindImageByUri(Uri uri) { if (uri != null) { ImageByUri imageByUri = imageByUriList.FirstOrDefault(iu => iu.Uri.Equals(uri)); if (imageByUri == null) { BitmapImage bi = new BitmapImage(); // BitmapImage.UriSource must be in a BeginInit/EndInit block. bi.DownloadFailed += (sender, args) => { if (sender is BitmapImage) { BitmapImage bit = sender as BitmapImage; } }; if (uri != null) { // BitmapImage.UriSource must be in a BeginInit/EndInit block. bi.BeginInit(); bi.UriSource = uri; bi.EndInit(); } imageByUri = new ImageByUri() { Bi = bi, Uri = uri }; imageByUriList.Add(imageByUri); } return(imageByUri.Bi); } else { return(null); } }
BitmapImage FindImageByUri(Uri uri) { if (uri != null) { ImageByUri imageByUri = imageByUriList.FirstOrDefault(iu => iu.Uri.Equals(uri)); if (imageByUri == null) { BitmapImage bi = new BitmapImage(); // BitmapImage.UriSource must be in a BeginInit/EndInit block. bi.DownloadFailed += (sender, args) => { if (sender is BitmapImage) { BitmapImage bit = sender as BitmapImage; } }; if (uri != null) { // BitmapImage.UriSource must be in a BeginInit/EndInit block. bi.BeginInit(); bi.UriSource = uri; bi.EndInit(); } imageByUri = new ImageByUri() { Bi = bi, Uri = uri }; imageByUriList.Add(imageByUri); } return imageByUri.Bi; } else { return null; } }