既存のオブジェクトからのコントロールの作成
Microsoft Expression Blend の [コントロールの作成] 機能を使用して、アートボードの任意のオブジェクトからコントロール テンプレートを作成できます。[コントロールの作成] ツールは、再利用できるオブジェクトをスタイル リソースにまとめます。
![]() |
---|
Expression Blend のオブジェクトとは、アートボードに配置するすべての要素を指します。たとえば、レイアウト パネル、図形、テキスト コントロール、イメージ、ボタン、コントロール テンプレートなどのユーザー インターフェイス (UI) デザイン要素が挙げられます。UI 要素をアートボードに配置すると、アプリケーションに要素のオブジェクト インスタンスが作成されます。 |
楕円からボタンを作成するには
プロジェクトが開かれていない場合は、新しいプロジェクトを開くか、または作成します。
詳細については、「新しいプロジェクトを作成する」を参照してください。
[ツール] パネルの [楕円]
を使用して、アートボードに円を描画します。楕円を見やすくするには、[プロパティ] パネルの [ブラシ] にあるプロパティを修正して外観を変更します。
詳細については、「オブジェクトの塗りつぶしまたはストロークへのブラシの適用」を参照してください。
楕円を右クリックして、[グループ化設定] をポイントし、Grid などレイアウト コンテナーの名前をクリックします。
[オブジェクトとタイムライン] パネルでグリッドを選択した状態で、[ツール] メニューの [コントロールの作成] をクリックし、グリッドをボタンに変換します。
[コントロールの作成] ダイアログ ボックスが表示されます。
[コントロールの種類] で、[Button] コントロールなど、作成するコントロールの種類をクリックします。
[名前 (キー)] で、最初のラジオ ボタンをクリックし (既定)、ボタン スタイルの名前を入力します。あるいは、[すべてに適用] オプションを選択し、アートボード上にあってまだ名前でスタイルを参照していないすべてのボタンにスタイルを適用します。
[定義先] で、いずれかのオプションをクリックし、ボタン スタイルを定義する場所を指定します。アプリケーションのドキュメントにボタン スタイルを使用できるようにするには、[アプリケーション] をクリックします。ボタン スタイルを現在のドキュメントにのみ使用できるようにするには、[このドキュメント] ([Window: Window]) をクリックします。アプリケーションのリソース ディクショナリにボタン スタイルを定義するには、[リソース ディクショナリ] をクリックします。
[OK] をクリックして [スタイル リソースの作成] ダイアログ ボックスを終了し、ボタン スタイルを作成します。
[オブジェクトとタイムライン] パネルで楕円オブジェクトがボタン オブジェクトに変換され、スタイルが新しいボタン スタイルに設定されることに注意してください。
また、ボタン スタイルは、定義したノードの [リソース] タブに表示されます (たとえば、[Window] ノードなどに表示されます)。
Expression Blend の [リソース] タブに表示される新しいボタン スタイル
ボタンのスタイルを変更するには
作成したボタン スタイルを変更するには、[オブジェクトとタイムライン] パネルで新しい Button オブジェクトを右クリックし、[テンプレートの編集] をポイントして、[現在のテンプレートの編集] をクリックします。
アートボードはコントロール テンプレートの編集スコープに切り替わります。
ヒント :
コントロール テンプレートの編集スコープに移行するには、いくつかの方法があります。たとえば、[リソース] タブでボタンのスタイルを表示し、リソース名の横にある [リソースの編集] ボタンをクリックできます。これにより、スタイルの編集スコープに入ります。ここから、[オブジェクトとタイムライン] パネルでスタイル オブジェクトを右クリックし、[テンプレートの編集] をポイントし、[現在のテンプレートの編集] をクリックすることにより、コントロール テンプレートの編集スコープに移行できます。
コントロール テンプレートの編集スコープを終了するには、[オブジェクトとタイムライン] パネルで [上へスコープ]
をクリックします。スタイルの編集スコープからコントロール テンプレートの編集スコープに入った場合は、スタイルに戻ります。ドキュメントの編集モードに戻るには、[上へスコープ] ボタンをもう 1 回クリックします。
ヒント :
[コントロールの作成] ツールは、元のオブジェクト (楕円) を、コントロール テンプレートを含むスタイル リソースにラップします。スタイルは、スタイルを適用するオブジェクト (この場合、ボタン オブジェクト) に設定されるプロパティを定義します。コントロール テンプレートは、オブジェクトの状態、構造、および外観を定義します。
コントロール テンプレートの内部には、元のオブジェクト (楕円) を含む Grid パネル、およびボタン オブジェクトのコンテンツを表示する ContentPresenter 要素があります。Grid パネル内にオブジェクトを配置すると、他の要素の追加や配置が簡単になります。
新しいボタン スタイルのコントロール テンプレートの構造
リソースの Extensible Application Markup Language (XAML) を確認すると、スタイルとコントロール テンプレートを関連付ける方法がわかります。たとえば、ボタン スタイルの構造は次のようになります。
<Window.Resources> <Style x:Key="ButtonStyle1" ...> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Grid> <Ellipse> ... </Ellipse> <ContentPresenter .../> </Grid> <ControlTemplate.Triggers> ... </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources>
[トリガー] パネルで、必要に応じてボタンの状態を定義します。たとえば、ユーザーがボタンの上にマウスを移動したときの状態のトリガー記録をアクティブにするには、[IsMouseOver = True] をクリックします。[オブジェクトとタイムライン] パネルで楕円を選択し、[プロパティ] パネルの [外観] で、楕円の [Fill] プロパティを別の色に変更します。次の図に示すように、[ellipse.Fill] に対する新しいプロパティ変更は、[アクティブな際のプロパティ] の [トリガー] に追加されます。
メモ :
[アクティブな際のプロパティ] が表示されない場合は、[トリガー] パネルのサイズを調整する必要があります。サイズを調整するには、パネルの境界とパネル内の境界をクリックしてからドラッグします。
ポインターをボタンの上に移動したときの楕円の [Fill] プロパティを変更した [トリガー] パネル
ボタンにアニメーションを追加することもできます。たとえば、[トリガー] パネルの [IsPressed = True] をクリックすると、ユーザーがボタンをクリックしたときの状態のトリガー記録がアクティブになります。[オブジェクトとタイムライン] パネルで楕円を選択した状態で、Shift キーと Alt キーを押しながら、楕円の角をドラッグします(Shift + Alt キーボード ショートカットでは、オブジェクトの中心点が維持されます)。
また、IsPressed イベントのイベント トリガーから新しいストーリーボードとトリガーを作成することで、より複雑なアニメーションを追加できます。
詳細については、「イベントに応答するコードを記述」を参照してください。
必要に応じてボタンの状態を定義した後、[オブジェクトとタイムライン] パネルの [上へスコープ]
をクリックして、ドキュメントの編集スコープに戻ります。
状態をテストするには、[プロジェクト] メニューの [プロジェクトの実行] をクリックし (または F5 キーを押し)、ボタンの状態が正しく機能することを確認します。たとえば、ボタンの上にポインターを移動すると、塗りつぶしの色が変更されます。
ボタンのスタイルをボタンに適用するには
必要な編集スコープに移行していることを確認します。スタイルは、コントロール テンプレートのスコープ内など、任意のスコープのボタンに適用できます。
[ツール] パネルの [ボタン]
を使用して、アートボードにボタンを描画します。
[オブジェクトとタイムライン] パネルで新しいボタン オブジェクトを右クリックし、[テンプレートの編集]、[リソースの適用] の順にポイントして、一覧からボタン スタイルを選択します。
[オブジェクト] メニューの [スタイルの編集] コマンドと [テンプレートの編集] コマンドを使用して、スタイル リソースを適用することもできます。
右クリック操作による、ボタン オブジェクトへのボタン スタイルの適用
ボタンのスタイルを削除または変更するには
ボタン スタイルはリソースであるため、その他のリソースと同様に扱うことができます。
スタイル リソースの削除または変更の詳細については、「プロパティを既定値にリセットする」と「再利用可能リソースの作成」を参照してください。