/// <summary>
        /// 下载图片
        /// </summary>
        public void DownloadImg()
        {
            if (PreFetcher.Fetcher.PreFetchedImg(img.PreviewUrl) != null)
            {
                preview.Source = PreFetcher.Fetcher.PreFetchedImg(img.PreviewUrl);
                //preview.Source = BitmapDecoder.Create(PreFetcher.Fetcher.PreFetchedImg(img.PreUrl), BitmapCreateOptions.None, BitmapCacheOption.OnLoad).Frames[0];
            }
            else
            {
                try
                {
                    req       = System.Net.WebRequest.Create(img.PreviewUrl) as System.Net.HttpWebRequest;
                    req.Proxy = MainWindow.WebProxy;

                    req.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
                    if (needReferer != null)
                    {
                        //req.Referer = img.PreUrl.Substring(0, img.PreUrl.IndexOf('/', 7) + 1);
                        req.Referer = needReferer;
                    }

                    //异步下载开始
                    req.BeginGetResponse(new AsyncCallback(RespCallback), req);
                }
                catch (Exception ex)
                {
                    Program.Log(ex, "Start download preview failed");
                    StopLoadImg();
                }
            }

            if (!isDetailSucc && img.DownloadDetail != null)
            {
                isRetrievingDetail = true;
                chk.Text           = "信息加载中...";
                System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback((o) =>
                {
                    try
                    {
                        img.DownloadDetail(img, MainWindow.WebProxy);
                        Dispatcher.Invoke(new VoidDel(() =>
                        {
                            LayoutRoot.IsEnabled = true;

                            ShowImgDetail();

                            isRetrievingDetail = false;
                            if (imgLoaded && ImgLoaded != null)
                            {
                                ImgLoaded(index, null);
                            }
                        }));
                    }
                    catch (Exception ex)
                    {
                        Program.Log(ex, "Download img detail failed");
                        Dispatcher.Invoke(new VoidDel(() =>
                        {
                            isRetrievingDetail = false;
                            canRetry           = true;
                            chk.Text           = "信息加载失败";
                            if (imgLoaded && ImgLoaded != null)
                            {
                                ImgLoaded(index, null);
                            }
                        }));
                    }
                }));
            }
        }