△ 図をクリックすると拡大されます
図1●Windows Presentation Foundation用のデザイン・ツール「Expression Interactive Designer」

△ 図をクリックすると拡大されます
図2●図1のコードを実行したときに表示されるエラー・メッセージ

△ クリックするとzip形式で圧縮されたWMV形式の動画ファイルをダウンロードできます
図3●Timelineを指定することで図形を動かせる

△ 図をクリックすると拡大されます
図4●次期Visual StudioのCTP版
 Microsoftが開発を進めている,次期Windows用のAPI「WinFX」には,Windows Presentation Foundation(開発コート名「Avalon」)と呼ぶ,これまでのGDI(Graphics Device Interface)に代わる新しいユーザー・インターフェース用のAPIが含まれる。Windows Presentation Foundationはベクトル・グラフィックス・ベースのユーザー・インターフェースを提供し,その開発用にXAMLと呼ぶ仕組みが用意される。XAMLは,Webアプリケーション開発用のASP.NETとよく似た仕組みで,ユーザー・インターフェースをXMLで記述し,振る舞い(プログラム)をC#やVisual Basicなどの言語で記述する。

 このたび,「Expression Interactive Designer」(開発コート名「Sparkle」)と呼ぶ,XAMLを生成するデザイン・ツールのCTP(Community Technology Preview)版がWebサイトで公開された。早速これをダウンロードし,試してみた。

 Expression Interactive Designerを動かすには,Windows XP SP2(英語版)とWinFXのランタイムが必要である。WinFXも,1月17日に最新のCTP版がWebサイトで公開されている。ランタイムとは別にWinFXのSDK(Software Development Kit)も同時に公開されているが,Expression Interactive Designerを動かすためだけならば必要ない。ただ,ドキュメントやサンプルが用意されているので,WinFXに興味がある開発者ならば,インストールすべきだろう。ただしDVD-ROMのISOイメージで用意されているファイルの容量は約1Gバイトある。

Visual Studioとは異なる操作性
Timelineに従ってアニメーション可能

 Expression Interactive Designerは,Visual Studioとは操作性が全く異なる。見た目はお絵かきツールである(図1)。ただし,デザイン画面の「Design」タブの横に「XAML Code」タブがあることから,Windows Presentation Foundation/XAML用のデザイン・ツールであることが分かる(図2)。なお,Expression Interactive Designer自体も,Windows Presentation Foundationを利用して作られているようだ。画面右上に「Workspace Zoom」スライダがあり,これを操作すると,Expression Interactive Designerの画面全体が拡大/縮小表示される。

 一般的なお絵かきツールと違うのは,Timelineという概念があること。時間軸に沿って,どの時刻にどの図形を,どの位置に表示するかを指定できる。つまり,ある種のプログラミング・ツールともいえる。ただし開発者向けではなく,あくまでもデザイナ向けだ。

 実際に実行すると,異なる時刻に指定した2つの場所の間を,その図形がアニメーションで動く(図3)。Adobe Systems(Macromedia)のFlashのようだ。実はExpression Interactive Designerは,Flash対抗と目される製品である。

 ASP.NETと同様にコード・ビハインドの仕組みを利用して,別ファイルにC#言語などでコードを書けるし,XMLのタグに埋め込むこともできる。さらに,画面にボタンを張って,クリックするとアニメーションするようなことも,一切コードを書かずに可能だ。

 ただ,たくさんのコードを記述するような用途には,Visual Studioを使うべきだろう。WinFX/Windows Presentation Foundation用のデザイナ機能を備えたVisual Studioは次のバージョン(開発コード名「Orcas」)まで待つ必要があるが,やはりCTP版が公開されているので,デザイナ部分を試すことはできる(図4)。これは,Visual Studio 2005(英語版の製品版)のアドインとして作られている。ただし,イベント・ハンドラを作る機能などはまだ実装されていない。