非同期とDependencyObjectと

非同期的な戻り値をawaitで受け取れる,ってことはこう書いた方がシンプルになるのでは,と思ってつくりを改良してみましたが,InvalidOperationExceptionとか出ちゃう.UIElementに対する処理はUIThreadで,というのは基本ですが,UIElementのSourceプロパティに設定するImageSourceインスタンスの生成も,というところにはなかなか気づけませんでした.なるほど,DependencyObjectってそんなもんなのね.ImageSourceであればFreezableなのでFreezeすれば非UIスレッドで生成してもいいよ,とのことですが,どうもそれではうまくいきません.フリーザ様,ちゃんと働いてくれない.結局,インスタンス化部をApp.Current.Dispatcher.Invokeにすることで回避しました.経験値不足のため,調べようにも,そこかしこに自信が持てないので,なかなかポイントを絞れず,時間ばかりかかります.広範になるほど自身の記憶にも自信が持てなくなるので,同じサイトを何度も読み返してみたり.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です