1

Windows Phone アプリに uri にバインドされたいくつかの画像があるため、すべての画像がダウンロードされると UI スレッドがブロックされます。「無効なクロススレッド操作」例外が発生するため、別のスレッドで bitmapImage インスタンスを作成できません。

WebClient を使用して画像をダウンロードしようとしましたが、BitmapImage のストリームを受け入れるコンストラクターがありません。

バックグラウンドで画像をダウンロードする方法について何か考えはありますか?

ありがとう

アミット

4

2 に答える 2

2

を使用しStreamてコンテンツを提供するには、デフォルトのコンストラクターを使用してインスタンスを作成し、ストリームの受け渡しをBitmapImage呼び出します。-SetSource

  var bi = new BitmapImage();
  bi.SetSource(myStream);

ただし、ここで車輪の再発明をしているのではないかと思います。以下のリンクをご覧ください:-

目立たないようにする(LowProfileImageLoaderは、バックグラウンドで画像を読み込むことにより、Windows Phone7UIスレッドの応答性を維持するのに役立ちます

于 2011-01-16T20:19:23.420 に答える
0

あなたはまだ WebClient を使用して UI スレッドにいます。そのアプローチを続ける場合は、HttpWebRequest も検討できます。無効なクロススレッド アクセス例外の解決策を含む実用的なサンプルを次に示します。

Windows Phone 7 の WebClient、HttpWebRequest、および UI スレッド

于 2011-01-17T01:00:32.823 に答える