Beispiel #1
0
        public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            var    status    = value as TwitterStatus;
            string imageLink = null;

            if (status != null && status.Entities != null)
            {
                if (status.Entities.Media.Any())
                {
                    imageLink = status.Entities.Media.First().MediaUrl;
                }
                else
                {
                    foreach (var url in status.Entities.Urls)
                    {
                        if (parser.TryGetMediaUrl(url.ExpandedValue, out imageLink))
                        {
                            break;
                        }
                    }
                }
            }

            Uri imageUri;

            if (imageLink != null && Uri.TryCreate(imageLink, UriKind.Absolute, out imageUri))
            {
                return(new BitmapImage(imageUri));
            }
            else
            {
                return(null);
            }
        }
Beispiel #2
0
        void SetImage()
        {
            if (Tweet.Entities == null)
            {
                return;
            }

            if (Tweet.Entities.Media != null && Tweet.Entities.Media.Any())
            {
                var photo = Tweet.Entities.Media.First();
                Images.Add(photo.MediaUrl);
            }


            if (Tweet.Entities.Urls != null && Tweet.Entities.Urls.Any())
            {
                var parser = new MediaLinkParser();
                foreach (var i in Tweet.Entities.Urls)
                {
                    if (i.EntityType == TwitterEntityType.Url)
                    {
                        var url = i as TwitterUrl;
                        if (url != null && !string.IsNullOrWhiteSpace(url.ExpandedValue))
                        {
                            string photoUrl;
                            if (parser.TryGetMediaUrl(url.ExpandedValue, out photoUrl))
                            {
                                Images.Add(photoUrl);
                            }
                        }
                    }
                }
            }

            if (Images.Count > 0)
            {
                HasImage  = true;
                IsLoading = true;
                BarText   = Localization.Resources.DownloadingImage;
            }
        }