Visual Studio 2010には「Binding Builder」という機能がある。このツールはプロパティペインから起動でき、開発者がWPFやSilverlightのXAMLバインディングを素早く構築するのを助ける。しかし、データコンテキストをランタイムに設定しただけではこの機能は動かない。ちょっとした手助けが必要なのだ。
Karl氏は、情報が足りないために起きる問題を説明する。このIDEはデータコンテキストにどのタイプのオブジェクトをパウンドするかを知る方法がない。そのため、バインディングのエラーを知ることができない。回避方法はとても簡単だ。設計時にだけ使われるデータコンテキストを渡すだけだ。
これを実行するために、実際のデータコンテキストを得るのと同じオブジェクトに「d:DataContext」プロパティを追加する必要がある。IDEにおいて普通のデータコンテキストと設計時のデータコンテキストの両方が認識される場合、設計時のデータコンテキストが使われる。さらに容易にするために、この設計は「d:DesignInstance」マークアップ拡張に追加される。これによって、指定したタイプとして同じプロパティを持った偽のタイプを作成する。そのため、クラスがデフォルトのコンストラクタを持っていない場合でも、それらのクラスを使うことができる。
Binding Builderと設計時マークアップ拡張に関するさらなる情報は、Karl氏のWPF and Silverlight Designerの投稿を参照しよう。