5

私は Windows Phone プラットフォームの初心者で、テキスト ボックスから画像の URL を読み取る単純なアプリケーションを構築しようとしています。ダウンロード ボタンをクリックすると、この画像が電話のメモリにダウンロードされ、Image コントロールに表示されます。

このコードは、ユーザーがダウンロード ボタンをクリックしたときに書き込まれます。

string url = "http://some-url-image-name.jpg";
WebClient client = new WebClient();
client.DownloadStringCompleted += DownloadCompleted;
client.DownloadStringAsync(new Uri(url));

これは DownloadStringCompleted イベント ハンドラーです。

private void DownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            if (e.Error != null)
                return;
            string result = e.Result;
            using (var stream = new MemoryStream(Encoding.Unicode.GetBytes(e.Result)))
            {
                var bi = new BitmapImage();
                bi.SetSource(stream);
                image.Source = bi;
            }
        }

「特定されていないエラー」例外が発生しています。それを解決する方法は?または、これを行うためのより良いアプローチを知っている人はいますか?

別の質問ですが、e.Result の性質は何ですか? ダウンロードされた画像コンテンツを文字列として、または何かへのパスですか?

ありがとう

4

1 に答える 1

8

画像は文字列ではなく、バイナリ コンテンツです。WebClient.OpenReadAsync(の代わりに)を使用するかDownloadStringAsync、URLをソースとして直接設定する必要がありますBitmapImage

var bi = new BitmapImage(new Uri("http://some-url-image-name.jpg"));
于 2012-12-04T10:55:18.860 に答える