1. 使用WebClient, image1是Image控件
private void Button_Click_1(object sender, RoutedEventArgs e)
{
WebClient wc = new WebClient();
wc.OpenReadAsync(new Uri("http://1.su.bdimg.com/icon/weather/a0.jpg"));
wc.OpenReadCompleted += wc_OpenReadCompleted;
}
void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
BitmapImage bmi = new BitmapImage();
bmi.SetSource(e.Result);
image1.Source = bmi;
}
2.HttpWebRequest
private void Button_Click_2(object sender, RoutedEventArgs e)
{
string url = "http://1.su.bdimg.com/icon/weather/a0.jpg";
WebRequest reqest = HttpWebRequest.Create(url); //创建WebRequest类
IAsyncResult resutl = reqest.BeginGetResponse(ResponseCallback, reqest);//返回异步操作的状态
}
private void ResponseCallback(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState; //获取异步操作返回的的信息
WebResponse response = request.EndGetResponse(result); //结束对 Internet 资源的异步请求
//委托UI线程更新UI
Dispatcher.BeginInvoke(() =>
{
using (Stream stream = response.GetResponseStream())
{
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(stream);
image1.Source = bitmap;
}
});
}
源码:http://download.csdn.net/detail/renyg25/5377189