試してみよう : ロールオーバー ボタンの作成
ユーザーの操作に応じてボタンの外観を変更することで、ロールオーバー効果をボタン テンプレート内に作成できます。アニメーション タイムラインのトリガまたはプロパティの変更のトリガによってロールオーバー効果を作成する代わりに、次の手順に従って、ボタンの各状態を表す複数のグリッド パネルを作成した後、各グリッド パネルの Visibility プロパティを切り替えることができます。
ボタンにロールオーバー効果を作成するには
Microsoft Expression Blend で、アートボード上に SimpleButton を描画します。
ヒント : 簡易スタイル コントロールを使用するには、[アセット ライブラリ] の [コントロール] タブで [簡易スタイル] をクリックします。一覧から簡易スタイル コントロールを選択したら、アートボード上で描画できます。
[オブジェクトとタイムライン] でボタンを右クリックし、[コントロール パーツ (テンプレート) の編集] をポイントして [テンプレートの編集] をクリックします。SimpleStyles.xaml リソース ディクショナリを変更しない場合は、[テンプレートの編集] ではなく、[コピーの編集] をクリックし、新しいテンプレートを作成してドキュメントに保存します。コピーの作成の詳細については、「リソースの作成」を参照してください。
ヒント : テンプレートの編集モードを終了し、ドキュメントのスコープに戻るには、[上へスコープ] ボタン をクリックします。このボタンは、[組み合わせ] パネルの要素ツリーの上にあります。
既存テンプレートのテンプレート編集モードに戻るには、[オブジェクトとタイムライン] でテンプレートを編集する要素を右クリックし、[コントロール パーツ (テンプレート) の編集] をクリックして、[テンプレートの編集] をクリックします。
コントロール テンプレートの編集スコープで、[Grid] の子要素 [Border] を削除します。
[Grid] 要素をダブルクリックしてアクティブにし、子要素を追加できるようにします。
[ツール バー] から、[グリッド] コントロール を 3 つ、テンプレートの Grid に追加します。ツールボックスの [グリッド] アイコンをダブルクリックし、[オブジェクトとタイムライン] でグリッド コントロールを右クリックし、[自動サイズ設定] をポイントして、[塗りつぶし] をクリックすると、簡単に追加できます。
ContentPresenter 要素を右クリックして [順序] をポイントし、[最前面に移動] をクリックして、ContentPresenter を新しい Grid オブジェクトの前面に重ねます。
[オブジェクトとタイムライン] で、新しいグリッド オブジェクトをそれぞれ右クリックし、[名前変更] をクリックして、「Default」、「Pressed」、「MouseOver」と名前を変更します。
トリガ動作を設定するには、トリガごとにグリッド オブジェクトを 1 つだけ表示する必要があります。たとえば、[組み合わせ] パネルの [トリガ] で [既定] を選択し、Ctrl キーを押したまま Pressed グリッド オブジェクトと MouseOver グリッド オブジェクトをクリックして、これらのオブジェクトを選択します。次に、[プロパティ] パネルの [外観] で、Visibility プロパティを "Hidden" に設定します。
[組み合わせ] パネルの [トリガ] で、IsMouseOver = True をクリックし、Pressed グリッド オブジェクトと Default グリッド オブジェクトを選択します。[プロパティ] パネルの [外観] で、Visibility プロパティを "Hidden" に設定します。
最後に、[トリガ] で IsPressed = True が選択された状態で、MouseOver グリッド オブジェクトと Default グリッド オブジェクトを選択します。次に、[プロパティ] パネルの [外観] で、Visibility プロパティを "Hidden" に設定します。
これで、さまざまな条件に基づいて表示されるように、それぞれのグリッド オブジェクトをデザインすることができます。描画ツールおよびアニメーション タイムラインを使用すると、ボタンの独自の動作を作成できます。他のグリッド オブジェクトを表示しないで 1 つのグリッド オブジェクトをデザインするには、[オブジェクトとタイムライン] で、他のグリッド オブジェクトの横の [隠す/表示する] ボタンをクリックします。
アプリケーションを実行して (F5)、効果を確認してください。