先日開催されました MIX08 において、新たに Expression Blend 2.5 および Silverlight 2 ランタイム環境が発表されました。
Blend 2.5 で Silverlight 2 アプリケーションを作成する際には、ボタンやテキストボックスなどのコントロールで構成された UI を手軽に作成することができます。今回は標準で使用できるコントロールに加えて、それらコントロールを自分でも作成できるカスタム コントロールについて解説します。
Silverlight 2 アプリケーションではツールボックスにコントロールのアイコンがあります。右クリックすると、他のコントロールのアイコンが表示されます。また、その下の >> のアイコンをクリックすることでアセット ライブラリが開き、その他のコントロールを選択することも可能です。

標準で使用可能なコントロール群。
初期状態で角丸ボタンのようなアイコンを右クリックして表示されます。

アセット ライブラリ。システム コントロール タブで、使用可能なコントロールが表示されます。
これらコントロールを選択した状態で、配置したい大きさにステージをドラッグすると、その領域にコントロールが配置されます。

コントロールを配置したところ。同様のスタイルの要素を手軽に配置できます。
カスタム コントロールとは、自分で自由に作成可能なコントロールです。例えば図形とボタンの組み合わせや、ある種の UI のセットをカスタム コントロールとして用意しておくことで、UI 要素を再利用可能なアセットとして保持することができます。
作成は簡単です。カスタム コントロールとして登録したい要素を選択した状態で右クリックして Make Control を選び、表示されるダイアログパネル上でそのカスタム コントロールの名前を入力して OK をクリックするだけです。

右クリックメニューで Make Control を選択。ダイアログで名前を入力します。
後はその作成したカスタム コントロールがアセット ライブラリのカスタム コントロール タブに表示されますので、通常のコントロールと同様、選択して配置するのみです。また、後からそのカスタム コントロールの中身を編集したい場合は、画面右側の Files パネル内から、そのカスタム コントロールと同名の XAML ファイルをダブルクリックするだけです。もちろん、カスタム コントロールに任意のコードビハインドを設定することも可能です。

カスタム コントロールを配置したところです。
コントロールのような「ライブラリ上のアセット」と「実際にステージに配置されるインスタンス」の関係は、いささか抽象的な概念なため、デザイナからは敬遠されがちかと思います。ですが、案件間にまたがるリソースの再利用や、作業の効率化のためには利用しない手はありません。
特に、各 UI 要素の機能や見栄えを設計する担当者と、アプリケーション全体のエクスペリエンスを設計する担当者とが別個に作業を進める場合、このコントロールを媒介に作業を進めるのが効率的かと思います。