2

在 WP7 中,我尝试从 yahoo 下载图形,例如:

http://chart.finance.yahoo.com/z?s=PLX12.NYM&t=1d&q=l&l=on&z=m&a=v&p=s

在我的 PC 上它按预期工作,但在我的 Windows 手机上却没有,如果我在我的应用程序中执行它或直接在 WP7 浏览器中执行它没有区别。您可以自己尝试一下。在 WP7/8 模拟器上它有时可以工作,但并非总是如此。似乎在 WP7 中,参数的解释与我的 PC 上的不同。有人知道这是什么原因吗?

感谢帮助

饭能

4

1 回答 1

0

我很快把它放在一起,它在我的 Win8 模拟器和我的 Windows Phone 7.1 上运行。只需要设置用户代理来欺骗雅虎认为我们是桌面;)

public void LoadImage(Image imageControl, string imageUrl)
{
    WebClient client = new WebClient();
    client.Headers["UserAgent"] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
    client.OpenReadCompleted += new OpenReadCompletedEventHandler(OpenReadCompleted);
    client.OpenReadAsync(new Uri(imageUrl, UriKind.Absolute)); 
}

private void OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    BitmapImage image = new BitmapImage();  
    image.SetSource(e.Result);
    imageControl.Source = image;
}

然后,您可以使用图像控件(在您的页面上)和 url 从任何地方调用该函数。我使用了这个,因为你的似乎无效: http ://chart.finance.yahoo.com/z?s=MSFT&t=1d&q=l&l=on&z=m&a=v&p=s

编辑:从 lambda 表达式中删除了完整的函数并赋予了它自己的函数。少了很多懒惰。

于 2013-01-21T10:37:57.623 回答