private void LoadYoutubeThumnail(string url)
        {
            string videoID          = GetYoutubeVideoID(url);
            string thumnailUrl      = "http://img.youtube.com/vi/" + videoID + "/0.jpg";
            var    thumnailDownload = new ImageDownload(thumnailUrl);
            var    cacheImage       = thumnailDownload.FindInCacheOrLocal();

            if (cacheImage != null)
            {
                Dispatcher.BeginInvoke((Action)(delegate
                {
                    var youtubeImage = new ScreenshotImage();
                    youtubeImage.ViewModel.ScreenshotSource = cacheImage;
                    youtubeImage.ViewModel.IsYoutubeThumbnail = true;
                    ViewModel.ScreenshotsList[0] = youtubeImage;
                }));
                return;
            }
            thumnailDownload.DownloadCompleted += (image) =>
                                                  Dispatcher.BeginInvoke((Action)(delegate
            {
                var youtubeImage = new ScreenshotImage();
                youtubeImage.ViewModel.ScreenshotSource = image;
                youtubeImage.ViewModel.IsYoutubeThumbnail = true;
                ViewModel.ScreenshotsList[0] = youtubeImage;
            }));
            thumnailDownload.DownloadFailed += (s, msg) => Debug.Fail(msg);
            GlobalVariables.ImageDownloadWorker.AddDownload(thumnailDownload);
        }
 private void UpdateScreenshots(List <string> urls)
 {
     //var youtubeImage = new MotionDetailScreenModel.ScreenshotImage { ImageSource = (BitmapImage)FindResource("YoutubeImage") };
     Dispatcher.BeginInvoke((Action)(delegate
     {
         var defaultYoutubeImage = new ScreenshotImage();
         defaultYoutubeImage.ViewModel.ScreenshotSource = (BitmapImage)FindResource("YoutubeImage");
         defaultYoutubeImage.ViewModel.IsYoutubeThumbnail = true;
         ViewModel.ScreenshotsList.Add(defaultYoutubeImage);
         for (int i = 0; i < urls.Count; i++)
         {
             var image = new ScreenshotImage();
             image.ViewModel.ScreenshotSource = null;
             image.ViewModel.IsYoutubeThumbnail = false;
             ViewModel.ScreenshotsList.Add(image);
         }
     }));
     LoadYoutubeThumnail(Info.video_url);
     int[] currentScreenshot = { 1 };
     for (int i = 0; i < urls.Count; i++)
     {
         var downloadImageRequest = new ImageDownload(urls[i]);
         var cacheImage           = downloadImageRequest.FindInCacheOrLocal();
         if (cacheImage != null)
         {
             Dispatcher.BeginInvoke((Action) delegate
             {
                 var image = new ScreenshotImage();
                 image.ViewModel.ScreenshotSource   = cacheImage;
                 image.ViewModel.IsYoutubeThumbnail = false;
                 ViewModel.ScreenshotsList[currentScreenshot[0]] = image;
                 currentScreenshot[0]++;
             });
             return;
         }
         downloadImageRequest.DownloadCompleted += (imageSource) =>
                                                   Dispatcher.BeginInvoke((Action) delegate
         {
             var image = new ScreenshotImage();
             image.ViewModel.ScreenshotSource   = imageSource;
             image.ViewModel.IsYoutubeThumbnail = false;
             ViewModel.ScreenshotsList[currentScreenshot[0]] = image;
             currentScreenshot[0]++;
         });
         downloadImageRequest.DownloadFailed += (s, msg) => Debug.Fail(msg);
         GlobalVariables.ImageDownloadWorker.AddDownload(downloadImageRequest);
     }
 }
 private void UpdateScreenshots(List<string> urls)
 {
     //var youtubeImage = new MotionDetailScreenModel.ScreenshotImage { ImageSource = (BitmapImage)FindResource("YoutubeImage") };
     Dispatcher.BeginInvoke((Action)(delegate
     {
         var defaultYoutubeImage = new ScreenshotImage();
         defaultYoutubeImage.ViewModel.ScreenshotSource = (BitmapImage)FindResource("YoutubeImage");
         defaultYoutubeImage.ViewModel.IsYoutubeThumbnail = true;
         ViewModel.ScreenshotsList.Add(defaultYoutubeImage);
         for (int i = 0; i < urls.Count; i++)
         {
             var image = new ScreenshotImage();
             image.ViewModel.ScreenshotSource = null;
             image.ViewModel.IsYoutubeThumbnail = false;
             ViewModel.ScreenshotsList.Add(image);
         }
     }));
     LoadYoutubeThumnail(Info.video_url);
     int[] currentScreenshot = { 1 };
     for (int i = 0; i < urls.Count; i++)
     {
         var downloadImageRequest = new ImageDownload(urls[i]);
         var cacheImage = downloadImageRequest.FindInCacheOrLocal();
         if (cacheImage != null)
         {
             Dispatcher.BeginInvoke((Action)delegate
             {
                 var image = new ScreenshotImage();
                 image.ViewModel.ScreenshotSource = cacheImage;
                 image.ViewModel.IsYoutubeThumbnail = false;
                 ViewModel.ScreenshotsList[currentScreenshot[0]] = image;
                 currentScreenshot[0]++;
             });
             return;
         }
         downloadImageRequest.DownloadCompleted += (imageSource) =>
                 Dispatcher.BeginInvoke((Action)delegate
                 {
                     var image = new ScreenshotImage();
                     image.ViewModel.ScreenshotSource = imageSource;
                     image.ViewModel.IsYoutubeThumbnail = false;
                     ViewModel.ScreenshotsList[currentScreenshot[0]] = image;
                     currentScreenshot[0]++;
                 });
         downloadImageRequest.DownloadFailed += (s, msg) => Debug.Fail(msg);
         GlobalVariables.ImageDownloadWorker.AddDownload(downloadImageRequest);
     }
 }
 private void LoadYoutubeThumnail(string url)
 {
     string videoID = GetYoutubeVideoID(url);
     string thumnailUrl = "http://img.youtube.com/vi/" + videoID + "/0.jpg";
     var thumnailDownload = new ImageDownload(thumnailUrl);
     var cacheImage = thumnailDownload.FindInCacheOrLocal();
     if (cacheImage != null)
     {
         Dispatcher.BeginInvoke((Action)(delegate
         {
             var youtubeImage = new ScreenshotImage();
             youtubeImage.ViewModel.ScreenshotSource = cacheImage;
             youtubeImage.ViewModel.IsYoutubeThumbnail = true;
             ViewModel.ScreenshotsList[0] = youtubeImage;
         }));
         return;
     }
     thumnailDownload.DownloadCompleted += (image) =>
         Dispatcher.BeginInvoke((Action)(delegate
         {
             var youtubeImage = new ScreenshotImage();
             youtubeImage.ViewModel.ScreenshotSource = image;
             youtubeImage.ViewModel.IsYoutubeThumbnail = true;
             ViewModel.ScreenshotsList[0] = youtubeImage;
         }));
     thumnailDownload.DownloadFailed += (s, msg) => Debug.Fail(msg);
     GlobalVariables.ImageDownloadWorker.AddDownload(thumnailDownload);
 }