WPFのDataGridコントロールやListViewコントロールなど(いずれもSystem.Windows.Controls名前空間)に表示させるデータは、データバインディングを使って結び付けている。それにより、データを変更すれば自動的に表示も変わるし、双方向バインディングにしておけばDataGridコントロール上でエンドユーザーの行った編集結果がデータに反映される。このようにとても便利な仕組みになっているのだが、別スレッドからデータを変更するときに問題がある。本稿では、その問題と、.NET Framework 4.5の新機能を使って対処する方法を解説する。 なお、本稿のプログラミングには、無償のVisual Studio Express 2012 for Windows Desktop(以降、VS 2012)を使用した。Visual Studio 2013でも手順は同じである。 事前準