WebClientを特定の方法で使用できるようにする必要があります。画像をバイトストリームとしてダウンロードし、これを画像に割り当てる必要があります。割り当てられる画像とアイテムが複数あり、これらがリストに表示されます。このアプリケーションはSilverlight3アプリケーションであり、ソリューションはSilverlightで機能するものでなければなりません。
使用したいダウンロード方法があります:
Public Sub Download(ByRef Source As Uri, ByRef Target As BitmapImage)
Dim _Client As New WebClient
_Client.OpenReadAsync(Source, Target)
AddHandler _Client.OpenReadCompleted, AddressOf Downloaded
End Sub
これがダウンロードされたイベントハンドラー(部分的な実装)です。これは、ToByteArrayメソッドを使用して、ダウンロードされた画像データをバイトの配列に変換します。
Private Sub Downloaded(ByVal sender As Object, _
ByVal e As OpenReadCompletedEventArgs)
If Not e.Cancelled Then
Dim Bytes As Byte() = ToByteArray(e.Result)
Dim Bitmap As New BitmapImage
Bitmap.SetSource(e.Result)
' Set Target Bitmap Here
End If
End Sub
ダウンロードされた画像(ターゲット)に設定されるターゲット画像は、ユーザートークンとしてOpenReadAsyncメソッドに渡され、OpenReadCompletedEventArgs UserStateプロパティを使用して読み取ることができますが、これはReadOnlyです-ターゲットをダウンロードされた画像に設定する必要があります。ダウンロードされたメソッド内。
ダウンロードメソッドでUserTokenとして渡された画像ソース/ビットマップ画像をダウンロードメソッドで設定するにはどうすればよいですか?