XAML Do-It-Yourself シリーズ 第 8 回ゕニメーション -1-

Similar documents
XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

XAML Do-It-Yourself シリーズ 第 7 回テンプレート -1-

XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1-

XAML Do-It-Yourself シリーズ 第 11 回 2D グラフゖックス -1-

XAML Do-It-Yourself シリーズ 第 1 回 XAML 概要 -1-

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな

WPFの初歩の初歩

WPF/Silverlightのスタイルやアニメーション

グラフィックス 目次

MISAO with WPF

Sparkline for WPF

XAMLDo-It-Yourself 第 2 回. レゕウト 今回は XAML でウゖンドウにパネルやボタン メニューなどの基本的なコントロールを配置する方法を 学びます ここでは 次のことを学習します XAML におけるレゕウトの基本 主要なパネルとその記述方法 XAML (WPF) で利用可能な

PowerPoint プレゼンテーション

Visual Studio Do-It-Yourself シリーズ 第 11 回テーマとスキン

Visual Studio Do-It-Yourself シリーズ 第 1 回 Windows ゕプリケーション開発の概要 -1-

WPF アプリケーションの 多言語切替

extCountdown.pdf

グラフィックス 目次

Chart3D for WPF/Silverlight

MISAO with WPF

わんくま同盟 大阪勉強会 #1

子ボックスや孫ボックスなどに position: absolute; と指定すると それぞれ親ボックスに対する絶対位置で配置できるので親ボックスの上に複数の子ボックスや孫ボックスを重ねて配置することができます トランジションやアニメーションを作成するときに非常に便利なので覚えておきましょう top

IBM Business Process Manager CSS による Coach レイアウト制御ガイド WebSphere 2014 IBM Corporation

サンプル CSS OutlineAnimation.html の説明 HTML の記述 (OutlineAnimation.html) id 属性 stage の div 要素を作り その中に div 要素でボックスを記述します id 属性 div1 の div 要素を記述し 中にテキストで Out

Web 設計入門

Border Width と記述します id 属性 div3 の div 要素を記述し 中にテキストで Border Radius と記述します id 属性 div4 の div 要素を記述し 中に span 要素を1つ記述しその中にテキストで Border All<br />(Color,Widt

1221 Transitionの指定項目

サンプル CSS web ページを開くと同時にピエロの玉乗りが動き出すアニメーションを作ってみましょう AnimeAuto の説明 HTML の記述 (AnimeAuto.html) ピエロの画像に pierrot という id を 玉の画像に ball という id を付けておきます <!DOCT

XAML の勉強上要! WPF アプリケーションは作れます

Carousel for WPF/Silverlight

グラフィックス 目次

Prog2_4th

Microsoft Word - VB.doc

PowerPoint プレゼンテーション

Abstract Kinect for Windows RGB Kinect for Windows v Kinect for Windows v2

Silverlightでメディア配信をはじめよう

padding( パディング ) padding プロパティでボックスの内側の余白を指定します この部分の内側には背景 ( 背景色や背景画像 ) を表示できます border( ボーダー ) border プロパティでボックスの境界線を指定します ボーダーには色 太さ 線の種類を指定できます 画像で

PowerPoint プレゼンテーション

JavaScript 演習 2 1

C#の基本

PowerPoint プレゼンテーション

テキストファイルの入出力1

グラフィックス 目次

Microsoft PowerPoint - OOP.pptx

スライド 1

サンプル CSS1 入力フィールドの輪郭 (outline) のトランジション 入力フィールドをクリックすると変化します InputOutlineTransition の説明 HTML の記述 (InputOutlineTransition.html) id 属性 field の div 要素を作り

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや

新しいイテレーション型開発

C#の基本2 ~プログラムの制御構造~

<!DOCTYPE html> <html> <head> <title>spaceorbitanime</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="spaceorbitanime.css">

Microsoft PowerPoint ppt

<!DOCTYPE html> <html> <head> <title>clipanime1</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="clipanime1.css"> </head> <

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

Microsoft PowerPoint - Windows Presentation Foundation (WPF) 3.5 の新機能

Web プログラミング 1 HTML+CSS (3) (2 章 ) 2013/5/8( 水 ) 演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用で

アメブロは そのままで使えるおしゃれなテンプレートが豊富にそろっているのが特徴ですがさらにデザインをカスタマイズすることによって 見やすく集客しやすいブログにすることができます このテキストでは 2016 年 3 月にリリースされた CSS 編集用デザイン を使用して あなただけのデザインにアメブロ

Visual Studio Do-It-Yourself 第 3 回コントロール 今回は Windows ゕプリケーションのユーザーンターフェスを作成する際に使う基本的なコントロ ールについて学びます ここでは 次のことを学習します 主要なコントロールとその機能 XAML を使ったコントロールの配置

Web データ管理 HTML+CSS (3) (2 章 ) 2011/10/19( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/23

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

1つ目は MASK という文字の下に楕円形のマスクイメージで その文字と楕円形の中に複数画像のスライドを表示するので id 属性 slide の div 要素の中に画像を5つ (images/dsc00203l.jpg images/dsc00027l.jpg images/dsc00092l.jp

( 注 )Safari (webkit 系ブラウザ ) と Chrome(webkit にも対応 ) は テキストの輪郭や色を -webkit-text-stroke-width -webkit-text-stroke-color -webkit-text-fill-color のプロパティで描くこ

extChatText.pdf

グラフィックス 目次

wpf #wpf

画像全体を左右反転させると 下の画像 ( 黄緑色の外枠に白い桜 ) は backface-visibility: visible; と指定してあるので裏側が表示されます 上の画像 ( 水色の外枠に紅葉 ) は backface-visibility: hidden; と指定してあるので裏側が表示され

マニュアル訂正連絡票

Color Change

【第一稿】論文執筆のためのワード活用術 (1).docx.docx

著作権 このドキュメントに記載されている情報は このドキュメントの発行時点におけるマクロソフトの見解を反映したものです マクロソフトは市場の変化に対応する必要があるため このドキュメントの内容に関する責任を問われないものとします また 発行日以降に発表される情報の正確性を保証できません このホワトペ

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

transform: translatex(x 方向の移動距離 ) transform: translatey(y 方向の移動距離 ) transform: translate(x 方向の移動距離, Y 方向の移動距離 ) transform: translate 関数は 移動する位置ではなく 移動

Microsoft PowerPoint - OOP.pptx

Scheduler for UWP

-24- Word 2016 操作手順 第 5 章ワープロ A 24 ページを このページに差し替えてください ( 6 透かしの設定 を変更 ) 1 頁 3. タブ 6 字 とリーダー ( 任意 ) の設定 ( ウ )~( オ ) は 図 2 を参考に正しいものを記述してください ( 図 2) タブ

PowerPoint プレゼンテーション

HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu

Prog2_12th

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java言語 第1回

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

著作権 このドキュメントに記載されている情報は このドキュメントの発行時点におけるマクロソフトの見解を反映したものです マクロソフトは市場の変化に対応する必要があるため このドキュメントの内容に関する責任を問われないものとします また 発行日以降に発表される情報の正確性を保証できません このホワトペ

Prog2_15th

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

Microsoft PowerPoint - CSS(Cascading Style Sheets)の基本.pptx

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

ガイダンス

Windows 10 IoT Core MVA 2015 August Windows 10 IoT Core ハンズオントレーニング Building and running Github MS IoT Samples on Windows 10 IoT Core 3 章 UWP アプリの開発 L

Javaプログラムの実行手順

27短01研01斉藤.indd

Microsoft Word - 教材WebページのHTML5及びCSS3の解説

Microsoft Word -

</div> </div> </body> </html> CSS の記述 (3DCubeAnime1.css) #stage ステージのスタイルを指定します 背景色を黒色で指定します 画像に軽く遠近感を出すために perspective: 1000px; と指定し perspective-orig

CodeGear Developer Camp

ハンズオンラボ Visual Studio 2010 によるデータドリブン型のマスター - 詳細ビジネスフォームの作成 ラボバージョン : 最終更新日 : 2010 年 2 月 9 日 ページ 1

1221 Transitionの指定項目

OutlookBar for WPF/Silverlight

id, クラスで指定 (#id 名,.class 名 ) 4. 様々なセレクタ a,b :a と b を指定 a b :a の下の階層の b を指定 a>b :a の直下の b を指定 a+b :a の次の b を指定 ab :a かつ b を指定 5. 属性セレクタ a[b] :a タグ内で b

Microsoft Word - AutocadCivil3D.doc

(3) 本文を書く 実際にページを開いたときに表示される本文を書いてみましょう から の間に書きます <html > <head > <title > 武のホームページ </title > </head > </html > (4) ページを保存する ここで一度ページを保存してみましょう テキストエ

やさしくPDFへ文字入力 v.2.0

Transcription:

XAML Do-It-Yourself シリーズ 第 8 回ゕニメーション -1-

XAML Do-It-Yourself 第 8 回ゕニメーション XAML Do-It-Yourself 第 8 回は ゕニメーションについて学習します XAML (WPF) が提供するゕニメ ーション機能は 時間の経過と共に コントロールのプロパテゖを変化させる機能です コントロールに 含まれるほとんどのプロパテゖに対して この機能を利用できます 今回は ゕニメーションについて 以下の内容を学習します XAML で記述するゕニメーションの基本 ゕニメーションの制御 アニメーションの基本 まずは ウゖンドウにボタン (Button) とラベル (Label) を配置し ボタンが押されたらラベルの幅が変 化するような簡単なゕニメーションを作成してみましょう ウゖンドウに StackPanel を配置し この中に Button と Label を配置します Label には "label1" と いう名前を付けておきます そして ボタンが押されたら Label の幅 (Width) を 100 px から 200 px まで変化させます これを行うのがゕニメーション機能です ボタンのクリックによりゕニメーションを開始しますので <Button> 要素にはトリガーを記述します これは <Button> 要素の中に <Button.Triggers> 要素を作成し ボタンが押された際に発生する Button.Click ベントに対応する処理としてゕニメーションを記述します ゕニメーションの記述には <BeginStoryboard> 要素と <Storyboard> 要素を使用し その中に <DoubleAnimation> 要素を記述します <Window x:class="wpfapplication8.mainwindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="200" Width="300"> <StackPanel> <Button Margin="20" Height="30" Width="100" Name="button1" VerticalAlignment="Top" >Start <Button.Triggers> <EventTrigger RoutedEvent="Button.Click"> <BeginStoryboard> <Storyboard > <DoubleAnimation Storyboard.TargetProperty="Width" FillBehavior="HoldEnd" From="100" To="200" Duration="0:0:1" /> -2-

</Storyboard> </BeginStoryboard> </Button.Triggers> </Button> <Label Width="100" Height="40" Name="label1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Background="Salmon"> テキストラベル </Label> </StackPanel> </Window> ゕニメーションを行うには まずゕニメーションの対象となるコントロール (Storyboard.TargetName) と そのプロパテゖ (Storyboard.TargetProperty) を指定します さらに ゕニメーションの実行時間の指定 (Duration 属性 ) と 開始時のプロパテゖの値 (From 属性 ) そして終了時のプロパテゖの値 (To 属性 ) を指定します 上記のリストでは label1 の Width プロパテゖの値を 100 から 200 まで 1 秒かけて変化するよう指 示しています Duration 属性は " 時間 : 分 : 秒 " の形式で記述します 以上がゕニメーションの基本設定です ゕニメーションの対象と変化内容を指定することで簡単にゕニメ ーションが作成できます プログラムを実行すると ボタンのクリックによってラベルの幅が変化するの を確認できます このゕニメーションでは <DoubleAnimation> という要素を用いていますが これはゕニメーションを 行う Width プロパテゖのデータ型が Double 型であるためです ほかにも ByteAnimation Int32Animation といった基本データ型に対応した要素や 座標位置を移動 させる PointAnimation 色を変化させる ColorAnimation などの要素が用意されています これらはゕ ニメーションを行いたいプロパテゖの型に応じて使い分けるようにします なお プロパテゖの開始値と終了値を指定するゕニメーションでは From の値から To の値までの間が 線形補完されます つまり 上記の場合では ラベルの幅が一定の速さで連続的に変化します どの程度 のなめらかさでゕニメーションが表示されるかは 実行するハードウェゕの性能によって異なります -3-

ColorAnimation 色をゕニメーションにより変化させたい場合は ColorAnimation を使います 例えばラベルの背景色 (Background) を Salmon から Yellow に 0.5 秒かけて変化させたい場合は 次のように記述します <ColorAnimation> 要素では From と To に色名を直接指定できます <ColorAnimation AutoReverse="True" BeginTime="0:0:0" Duration="0:0:0.5" From="Salmon" To="Yellow" Storyboard.TargetName="myBrush" Storyboard.TargetProperty="Color" /> ColorAnimation を使用する場合に Storyboard.TargetName 属性にはコントロール名を記述して Storyboard.TargetProperty 属性に Background を指定しても正しく動作しないことに注意してください Background は Color 型ではなく Brush 型なので 別途 Brush オブジェクトを用意し その名前を指定します そのため 次のように <Label> 要素内に <Label.Background> 要素を作成し この中でブラシ (SolidColorBrush) を作成しておきます <Label Width="100" Height="40" Name="label1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" > テキストラベル <Label.Background> <SolidColorBrush x:name="mybrush" Color="Salmon"/> </Label.Background> </Label> ブラシの色をゕニメーションさせることにより そのブラシで塗っているラベルの色が変化するというわ けです また Label の Background プロパテゖに色名を指定すると 自動的に SolidColorBrush が割り 当てられます <Label Width="100" Height="40" Name="label1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Background="Salmon"> テキストラベル </Label> このとき ColorAnimation は次のように記述することもできます <ColorAnimation AutoReverse="True" BeginTime="0:0:0" Duration="0:0:0.5" From="Salmon" To="Yellow" Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)" /> これは label1 コントロールの Background プロパテゖに割り当てられている SolidColorBrush オブジェ クトの Color プロパテゖを対象にするという意味になります こうすることで Brush オブジェクトに名 前を付ける必要がなくなります -4-

ThicknessAnimation ThicknessAnimation は コントロールの外側の枠線 (Border) マージン (Margin) パデゖング (Padding) といった Thickness 型のプロパテゖをゕニメーションさせたい場合に利用します ThicknessAnimation では From と To でそれぞれ 4 つのパラメーターを指定します これらは枠線の 高さと幅に対応します ( 左 上 右 下の順 ) <ThicknessAnimation Storyboard.TargetProperty="BorderThickness" Duration="0:0:2" FillBehavior="HoldEnd" From="1,1,1,1" To="28,14,28,14" /> FillBehavior 属性この記述にあるように FillBehavior 属性を設定することで Duration 属性で指定した時間が経過した後の振る舞いを指定できます FillBehavior 属性が "HoldEnd" の場合は ゕニメーション終了時の状態を保持します それに対して FillBehavior 属性を "Stop" に設定すると ゕニメーション終了時には 開始直前の状態に戻ります キーフレームによるアニメーション 先ほどのゕニメーションでは Width プロパテゖを 100 px から 200 px まで 1 秒間かけて変化するよ うに指定しました これとは別の方法として キーフレームを指定したゕニメーションも可能です キーフレームによるゕニメーションでは その名前のとおり 任意の時間を指定して その時間ごとの状 態を設定することが可能になります 例えば下記のような Height プロパテゖに対するゕニメーションでは ゕニメーション開始時の Height プロパテゖは 40 px で そこから 1 秒後に 80 px まで変化し その後 1 秒間はそのまま そして次 の 1 秒間で 80 px から 120 px に変化します <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Height" Duration="0:0:4"> <LinearDoubleKeyFrame Value="40" KeyTime="0:0:0"/> <LinearDoubleKeyFrame Value="80" KeyTime="0:0:1"/> <LinearDoubleKeyFrame Value="80" KeyTime="0:0:2"/> <LinearDoubleKeyFrame Value="120" KeyTime="0:0:3"/> </DoubleAnimationUsingKeyFrames> この場合は Height プロパテゖが Double 型であるため <DoubleAnimationUsingKeyFrames> 要素 を使います さらに それぞれのキーフレームの設定は <LinearDoubleKeyFrame> 要素を使って指定 -5-

します <LinearDoubleKeyFrame> 要素はキーフレームで指定した値を線形補完します これに対して <DiscreteDoubleKeyFrame> 要素を使ってキーフレームを指定すると 線形補完が行われず 指定され た時間になった時点でプロパテゖが変更され 結果的に不連続なゕニメーションとなります StringAnimationUsingKeyFrames <StringAnimationUsingKeyFrames> 要素と <DiscreteDoubleKeyFrame> 要素を使うと 時間の経 過と共に文字列の表示内容が変化するゕニメーションを作成できます 次の例では ボタンを押すと 青く描画された円内で数字をカウントダウンします 1 秒ごとに <DiscreteStringKeyFrame> 要素を用意し Label に表示する文字列を設定しています <Window x:class="wpfapplication8.window2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window2" Height="200" Width="300"> <StackPanel> <Button Width="100" Margin="10">Start <Button.Triggers> <EventTrigger RoutedEvent="Button.Click"> <BeginStoryboard> <Storyboard > <StringAnimationUsingKeyFrames Storyboard.TargetProperty="Content" BeginTime="0:0:0" > <DiscreteStringKeyFrame Value="10" KeyTime="0:0:0" /> <DiscreteStringKeyFrame Value="9" KeyTime="0:0:1" /> <DiscreteStringKeyFrame Value="8" KeyTime="0:0:2" /> <DiscreteStringKeyFrame Value="7" KeyTime="0:0:3" /> <DiscreteStringKeyFrame Value="6" KeyTime="0:0:4" /> <DiscreteStringKeyFrame Value="5" KeyTime="0:0:5" /> <DiscreteStringKeyFrame Value="4" KeyTime="0:0:6" /> <DiscreteStringKeyFrame Value="3" KeyTime="0:0:7" /> <DiscreteStringKeyFrame Value="2" KeyTime="0:0:8" /> <DiscreteStringKeyFrame Value="1" KeyTime="0:0:9" /> <DiscreteStringKeyFrame Value="0" KeyTime="0:0:10" /> </StringAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </Button.Triggers> </Button> <Label Name="label1" Height="100" Width="100" Content="-" FontSize="50" Foreground="White"> <Label.Template> <ControlTemplate TargetType="Label"> <Grid> <Ellipse x:name="myellipse" Fill="DarkBlue" /> -6-

<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" /> </Grid> </ControlTemplate> </Label.Template> </Label> </StackPanel> </Window> 1 秒ごとに表示文字列が変わる 繰り返しと折り返しゕニメーションが終了すると 上述したように FillBehavior 属性によりその終了状態が決まります これに加えて <Storyboard> 要素に AutoReverse 属性や RepeatBehavior 属性を記述することで ゕニメーションをカスタマズできます AutoReverse 属性を "True" に設定した場合 ゕニメーションが最後まで実行すると 今度は動画を逆再 生するように 逆方向のゕニメーションを行います そのため この属性を指定してゕニメーションを実 行すると 終了時はゕニメーション開始時の状態に戻ります RepeatBehavior 属性は <Storyboard> で定義したゕニメーションの繰り返しを指定します -7-

"Forever" を指定すると ゕニメーションを継続して繰り返します 時間を指定すると その時間内でゕ ニメーションを繰り返します アニメーションをコントロールする実行中のゕニメーションを停止したり 再開させたりすることも XAML で記述できます これは <BeginStoryboard> 要素に名前を付けておき 必要に応じて <StopStoryboard> <ResumeStoryboard> といった要素に Storyboard 名を設定することで実現できます 例として Start Pause Resume Stop といったボタンを配置し それぞれのボタンのベ ントでゕニメーションをコントロールしてみましょう 例えば Stop ボタンである stopbutton が押された際には <StopStoryboard> 要素の BeginStoryboardName 属性に <BeginStoryboad> 要素の名前を設定します これによりゕニメーシ ョンの実行が停止します 他のボタンも同様にして記述できます <Window x:class="wpfapplication8.window3" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window3" Height="200" Width="300"> <Window.Resources> <SolidColorBrush x:key="mybrush" Color="Salmon" /> <Style TargetType="Button"> <Setter Property="Margin" Value="2 10 2 10"/> <Setter Property="Width" Value="50"/> <Setter Property="Height" Value="25"/> </Style> </Window.Resources> <StackPanel> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <Button Name="startButton" >Start</Button> <Button Name="pauseButton" >Pause</Button> <Button Name="resumeButton" >Resume</Button> <Button Name="stopButton" >Stop</Button> -8-

<StackPanel.Triggers> <!-- 開始ボタン --> <EventTrigger RoutedEvent="Button.Click" SourceName="startButton"> <BeginStoryboard Name="myStoryboard"> <Storyboard AutoReverse="True" RepeatBehavior="Forever" > <!-- 幅 (Width) をゕニメーション --> <DoubleAnimation Storyboard.TargetProperty="Width" From="100" To="200" Duration="0:0:4" > </DoubleAnimation> <!-- 高さ (Height) をゕニメーション --> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Height" Duration="0:0:4"> <DiscreteDoubleKeyFrame Value="40" KeyTime="0:0:0"/> <DiscreteDoubleKeyFrame Value="80" KeyTime="0:0:1"/> <DiscreteDoubleKeyFrame Value="120" KeyTime="0:0:2"/> </DoubleAnimationUsingKeyFrames> <!-- 背景色 (Background) をゕニメーション --> <ColorAnimation AutoReverse="True" BeginTime="0:0:0" Duration="0:0:0.5" From="Salmon" To="Yellow" Storyboard.TargetName="myBrush" Storyboard.TargetProperty="Color"> </ColorAnimation> </Storyboard> </BeginStoryboard> <!-- ゕニメーションを中断 --> <EventTrigger RoutedEvent="Button.Click" SourceName="pauseButton"> <PauseStoryboard BeginStoryboardName="myStoryboard" /> <!-- ゕニメーションを再開 --> <EventTrigger RoutedEvent="Button.Click" SourceName="resumeButton"> <ResumeStoryboard BeginStoryboardName="myStoryboard" /> <!-- ゕニメーションをストップ --> <EventTrigger RoutedEvent="Button.Click" SourceName="stopButton"> <StopStoryboard BeginStoryboardName="myStoryboard" /> </StackPanel.Triggers> </StackPanel> <Label Width="100" Height="40" Name="label1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"> テキストラベル <Label.Background> -9-

<SolidColorBrush x:name="mybrush" Color="Salmon"/> </Label.Background> </Label> </StackPanel> </Window> まとめ 今回はゕニメーションの具体例をいくつか紹介しました コードビハンドフゔルにコードを書かな くても 簡単な XAML の記述だけでゕニメーションが実現できることを学習しました 次回は カスタムコントロールについて学習します -10-