コードスペランカー

ゲーム開発日誌など

WPFのお勉強 マルチスレッド編

マルチスレッドな状態を想定してプログラムを組む際に、WPFではコンポーネントが持ってるプロパティ具体的にはCanvas.Widthなんかにはアクセスできない仕様になってるらしい。読むだけならいいんじゃないかとも思えるが、できないものはできないので、やらなくても良い方法を考える。
今回、目的とするプログラムでは外部からこのコンポーネントの一部にアクセスをさせる必要がある。なので、その受け口にはアクセスできるものしか置かない。そして更新処理のときに必要なプロパティを参照させるという方法をとることにした。
そうすることで、外部からのアクセスと内部での更新を分けで他のスレッドからもアクセスできるようになる。