Пример #1
0
            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);
            }