Animated Control (Silverlight 2)

Published 24 June 08 11:54 AM | hiroyuk 

Martin GraysonのブログMSCUIでも使われているアニメーションするコントロールのサンプルが公開されています。

使い方としては、XAML内で以下のように宣言します。

<Canvas x:Name="controlCanvas">

 <local:AnimatingRectangleControl Width="700" Height="700"

                                  Fill="#7fffffff" />

そして、アニメーションするときコードから以下のようにメソッドを呼び出します。

animatedControl.SizeAnimationDuration = duration;

animatedControl.PositionAnimationDuration = duration;

animatedControl.AnimateSize(width, height);             

animatedControl.AnimatePosition(newPos.X, newPos.Y);

AnimatedControlクラスはControlを継承し、CanvasとRectangleで構成されStoryboradを内蔵しています。DispatcherTimerを使って自分自身をアニメーションさせる部分が少しトリッキーですが、コードをダウンロードして試してみてください。

Filed under:

Comments

No Comments
Anonymous comments are disabled

About hiroyuk

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