public BitmapSource GetImageUsingUri(string uri, Color bgColor) { var key = Tuple.Create(uri, bgColor); BitmapSource image; lock (lockObj) { if (imageCache.TryGetValue(key, out image)) { return(image); } image = ThemedImageCreator.CreateThemedBitmapSource(new BitmapImage(new Uri(uri)), bgColor, isHighContrast); imageCache.Add(key, image); } return(image); }
BitmapSource GetImageUsingUri(string uri, Color?bgColor) { var key = Tuple.Create(uri, bgColor); BitmapSource image; if (imageCache.TryGetValue(key, out image)) { return(image); } image = new BitmapImage(new Uri(uri)); if (bgColor != null) { image = ThemedImageCreator.CreateThemedBitmapSource(image, bgColor.Value, isHighContrast); } imageCache.Add(key, image); return(image); }