C# 从网页获取图像并显示(Windows Phone)

C# 从网页获取图像并显示(Windows Phone),c#,windows-phone-7,http,C#,Windows Phone 7,Http,我在从网站获取图像并在Windows Phone上显示时遇到了一些问题。图像链接每天都在变化(http://apod.nasa.gov/apod/astropix.html)但网站链接是一样的 我见过很多人使用HTMLAgility pack,但我不认为我可以在Windows Phone上使用它 如何从网页下载图像并在imageview/picturebox中显示 我假设它将类似于解析网站>获取src字符串>加载字符串>加载图像>显示图像。但是我真的想得到一些关于如何做的帮助 谢谢 您好,这里有

我在从网站获取图像并在Windows Phone上显示时遇到了一些问题。图像链接每天都在变化(http://apod.nasa.gov/apod/astropix.html)但网站链接是一样的

我见过很多人使用HTMLAgility pack,但我不认为我可以在Windows Phone上使用它

如何从网页下载图像并在imageview/picturebox中显示

我假设它将类似于解析网站>获取src字符串>加载字符串>加载图像>显示图像。但是我真的想得到一些关于如何做的帮助


谢谢

您好,这里有一个代码块可以帮助您。我还没有遵循将其写下来的最佳实践:

    void ImageDownloader() 
    {
        WebClient client = new WebClient();
        client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
        client.DownloadStringAsync(new Uri("http://apod.nasa.gov/apod/astropix.html"));

    }

    void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        string str = e.Result.Remove(0,(e.Result.IndexOf("SRC=")+5));
        str = "http://apod.nasa.gov/apod/"+str.Substring(0, (str.IndexOf(".jpg")+4));
        ImageBrush imb = new ImageBrush();
        imb.ImageSource = new BitmapImage(new Uri(str));
        LayoutRoot.Background = imb;
    }
“主字符串”http://apod.nasa.gov/apod/“保持不变


这里LayoutRoot是主网格。您可以根据自己的便利使用imageview或图片框。

代码工作正常!谢谢你!但我对DownloadStringCompleted方法的工作原理有点困惑,尤其是IndexOf方面。谢谢你!