Windows Presentation Foundation "Property Binding"

Published 30 June 06 11:28 AM | hiroyuk 

.NET Framework 3.0 (formally WinFX) のプレゼンテーション テクノロジである Windows Presentation Foundation には、非常に革新的で興味深い機能が多数あります。その下側では Direct3D が動いているので、ベクトル描画や3D描画も高速です。また、その記述言語である XAML (eXtensible Application Markup Language) も非常に便利で、こんなことまで宣言型構文で可能なんだと驚くこともあります。

その1つが Binding です。Binding を使えばデータベースのデータなどを取得することもできますが、ここでは一番シンプルな Property Binding を紹介しましょう。Real-time Ink in 3D: A Postcard from Stefan Wickをご覧ください(Vista あるいは XP 、IE6 あるいは IE7でないと見られません。XP の場合、.NET Framework 3.0 Runtime が必要です)。上の絵葉書にマウスで絵を描くと、それが下の3D絵葉書に同じように描画されます。

もっと単純な例を紹介しましょう。

<DockPanel 
   xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="
http://schemas.microsoft.com/winfx/2006/xaml" >
   <Slider Name="Mine" Maximum="400" Minimum="10" DockPanel.Dock="Top"/>
   <Rectangle   Fill="Green"  Stroke="Black"   Width="{Binding ElementName=Mine, Path=Value}" />
   <Ellipse Fill= "Red" />
</DockPanel>

この XAMLを IE か XAMLPad (Windows SDK に同梱) で見ていただくと、一番上にスライダと下に矩形と楕円が表示されます。上のスライダを左右に動かすと、矩形と楕円がが大きくなったり、小さくなったりします。特に、明示的にイベントを取得して、値を取得するようなコードがあるわけではありません。上の7行(実質5行)だけで、こういったことが実現できるのです。鍵となっているのは Binding によってスライダの値を使って矩形の幅を宣言していることです。

Windows Presentation Foundation の情報や最新のダウンロードは、MSDN Windows Vista Developer Center を参照してください。

Comments

No Comments
Anonymous comments are disabled

About hiroyuk

マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。

Search

This Blog

DirectX 情報

Silverlight 情報

Windows 情報

WPF 情報

並列コンピューティング情報

著書

Syndication

Page view tracker