private static Uri GetUri(ImageSource image) { BitmapImage image2 = image as BitmapImage; if ((image2 != null) && (image2.UriSource != null)) { if (image2.UriSource.IsAbsoluteUri) { return(image2.UriSource); } if (image2.BaseUri != null) { return(new Uri(image2.BaseUri, image2.UriSource)); } } BitmapFrame frame = image as BitmapFrame; if (frame != null) { Uri uri; string uriString = frame.ToString(); if ((uriString != frame.GetType().FullName) && Uri.TryCreate(uriString, UriKind.RelativeOrAbsolute, out uri)) { if (uri.IsAbsoluteUri) { return(uri); } if (frame.BaseUri != null) { return(new Uri(frame.BaseUri, uri)); } } } return(null); }