2011-01-16 12 views
1

私は自分のWindows Phoneアプリにいくつかの画像をバインドしています。これにより、すべての画像がダウンロードされたときにUIのスレッドがブロックされます。私は "無効なクロススレッド操作"の例外を取得するので、別のスレッドでbitmapImageインスタンスを作成することはできません。BitmapImageをWeb URIから取得する

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

バックグラウンドでイメージをダウンロードする方法について考えていますか?

おかげ

アミット

+0

あなたがダウンロードしてバインドするために使用されている方法のexmapleを与えることができますか? –

答えて

2

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

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

しかし、私はあなたがここでホイールを再発明しているかもしれないと思います。あなたがWebクライアントを使用してUIスレッド上ではまだだ

Keep a low profile (LowProfileImageLoader helps the Windows Phone 7 UI thread stay responsive by loading images in the background

+0

ありがとうございました!それはトリックをした... –

関連する問題