GUIとスレッド まず、WPF関係ない話ですが、一般にGUIはシングルスレッドモデルを前提にしてます。つまり、UIコントロールの生成、変更、削除は単一のスレッドからのみに限定されてます。これは主に性能のためです。ので、UIコントロールを触るためのスレッドをUIスレッドとか言ったりします。 WPFも当然ながらこの制約を受けます。じゃあWPFだとマルチスレッド無理なの?という話ではなく、あくまでUIに関する部分のみが単一スレッドなだけです。ので、重い処理とかは別スレッドでやって、処理が終わったらUIスレッドに戻ってUIを更新、みたいな感じになります。Webで言うところのWeb Workersみたいな感じです。余談ですが、GUIアプリとかで固まってUIの応答さえしなくなるものがあったりしますが、あれはUIスレッドで重い処理をしちゃってるからです。 さて、単一のUIスレッド的なものをグローバルに持