試してみよう : ボタンへのアニメーションの追加
SimpleButton では、状態の変更をアニメーション化しません。その代わりに、状態の変更があるときにブラシ リソースを設定します。Microsoft Expression Blend では、ブラシ リソースから色へのアニメーション化ができません。その代わりとして、次の手順で、プロパティ トリガを使用してアニメーション タイムラインを開始する方法を示します。
ボタンをアニメーション化するには
Expression Blend のアートボード上に SimpleButton を描画します。
ヒント : 簡易スタイルを使用するには、アセット ライブラリ の [コントロール] タブで [簡易スタイル] をクリックします。一覧から簡易スタイル コントロールを選択したら、アートボード上で描画できます。
[オブジェクトとタイムライン] でボタンを右クリックし、[コントロール パーツ (テンプレート) の編集] をポイントして [テンプレートの編集] をクリックします。SimpleStyles.xaml リソース ディクショナリを変更しない場合は、[テンプレートの編集] ではなく、[コピーの編集] をクリックし、新しいテンプレートを作成してドキュメントに保存します。コピーの作成の詳細については、「リソースの作成」を参照してください。
ヒント : テンプレートの編集モードを終了し、ドキュメントのスコープに戻るには、[上へスコープ] ボタン をクリックします。このボタンは、[組み合わせ] パネルの要素ツリーの上にあります。
既存テンプレートのテンプレート編集モードに戻るには、[オブジェクトとタイムライン] でテンプレートを編集する要素を右クリックし、[コントロール パーツ (テンプレート) の編集] をクリックして、[テンプレートの編集] をクリックします。
コントロール テンプレートの編集スコープで、Grid の子要素である Border を削除します。
Grid 要素をダブルクリックしてアクティブにし、子要素を追加できるようにします。
グリッドに四角形 を描画します。
Rectangle 要素を右クリックして [順序] をポイントし、[最背面に移動] をクリックして ContentPresenter 要素の後ろに重ねます。
[プロパティ] パネルの [ブラシ] で、四角形の Fill プロパティに新しい値を設定します。これがボタンの既定の色になります。
ヒント : 元のテンプレートの Border 子要素は、テンプレートのバインドを使用して、テンプレートが適用されるコントロールの Background プロパティに、テンプレートの Fill プロパティをバインドします。テンプレートのバインドによって、コントロールに設定したテンプレートのプロパティの一部を使用できます。これにより、同じテンプレートを使用して、背景色が異なる複数のボタンを作成できます。ただし、テンプレートにバインドされたプロパティから特定の色へのアニメーション化はできません。これは、Fill プロパティの既定の色がテンプレートに設定されているためです。
[組み合わせ] パネルの [トリガ] で、IsMouseOver = True トリガをクリックして、トリガの記録をアクティブにします。次に、[アクティブ化する際のアクション] の横の [新しいアクションの追加] ボタンをクリックして、アニメーション タイムラインを追加します。マウスをボタンに合わせたときにトリガするタイムラインが存在しない場合、[タイムラインが必要です] ウィンドウが表示されます。[OK] をクリックして新しいタイムラインを作成し、記録を開始します。
ヒント : [トリガ] のすべてのトリガとアクションを表示するには、[組み合わせ] パネルの各ウィンドウの調整が必要な場合があります。ウィンドウのサイズを変更するには、マウスを使用します。
[オブジェクトとタイムライン] で、再生ヘッド を 1 秒に移動し、[プロパティ] パネルの [ブラシ] で、Fill プロパティに新しい値を設定します。
Fill プロパティの値を変更すると、タイムラインにキーフレーム が表示されます。キーフレームは、0 秒に設定する必要はありません。マウス ポインタがボタン上に移動すると、タイムラインでは以前の塗りつぶしから 1 秒に設定された塗りつぶしに移行するアニメーション化を行います。
[組み合わせ] パネルの [トリガ] で、IsMouseOver = True トリガを再度クリックしてアニメーション タイムラインを終了し、トリガの記録モードに戻ります。[非アクティブ化する際のアクション] の横の [新しいアクションの追加] ボタンをクリックします。マウス ポインタがボタンから離れたときに実行するアニメーション タイムラインを作成または選択します。たとえば、前のタイムラインを使用して、タイムラインに [Stop] メソッドを選択することができます。
必要に応じて、[トリガ] で他の状態のアニメーション タイムラインを作成することができます。
アプリケーションを実行して (F5)、効果を確認してください。