ユーザー コントロールのビジュアル状態および切り替え時間の定義
独自のユーザー コントロールを作成するとき、カスタム状態および状態グループを追加して、ユーザー コントロールの各状態に対してさまざまな外観を定義できます。たとえば、ユーザー コントロールがトランプを表している場合は、FaceUp および FaceDown 状態を設定するといいでしょう。
メモ : |
---|
ボタンなどのシステム コントロールのテンプレートについては、変更時に既定の状態グループおよび状態が既に存在しています。新しい状態グループや状態を追加することはできません。 |
ユーザー コントロールの状態グループを定義するには
ユーザー コントロールがまだない場合は、Silverlight 2 プロジェクトで新規のユーザー コントロールを作成し、XAML ファイルを開いて編集できます (詳細は、「Silverlight 2 プロジェクトでの新しいユーザー コントロールの作成」を参照してください)。
ヒント : メイン ドキュメント (通常は Page.xaml) の状態グループを定義することも可能です。
[組み合わせ] パネルの [状態] ページには、ユーザー コントロールにあるオブジェクトの既定の外観が表示されています。ドキュメントにオブジェクトを追加する必要がある場合など、状態記録モードを終了したいときは必ず、[ベース] を選択できます。
[ステート] で、[状態グループの追加] ボタンをクリックします。
新しい状態グループが追加されます。新しい名前を入力できるよう名前は強調表示されています。
これで状態を状態グループに追加できます。また、状態グループをさらに追加することもできます。
状態を状態グループに追加するには
[ステート] で、状態グループ名の隣の [状態の追加] ボタンをクリックします。
新しい状態が状態グループに追加されます。新しい名前を入力できるよう名前は強調表示されています。
状態記録をオンにする状態を選択します。ドキュメントのオブジェクトの外観への変更が、選択した状態に対して記録されます。
ヒント : 状態および状態グループを指定するときは、表示するユーザー コントロールのすべてのビジュアル状態を考慮し、同時に表示したくない状態を確認します。状態グループでは一度に 1 つの状態しか表示できないため、これらの状態は同じ状態グループ一覧に含めます。たとえば、次のイメージは、トランプ ゲームのカードを表すユーザー コントロールを示しています。状態グループとしては、MouseInteraction と SideDisplayed の 2 つが定義されています。MouseInteraction 状態グループには、Click、MouseOver、および Normal の状態が含まれています。これらの状態は、同時に表示されることはありません。SideDisplayed 状態グループには、カードが表向きの FaceUp 状態と裏向きの FaceDown 状態があります。表向きのカードの上にマウス ポインタを置くことができるのは、この 2 つの状態が異なる状態グループに含まれているからです。
ユーザー コントロールの切り替え効果の再生時間を設定して状態を切り替えるには
ユーザー コントロールの切り替え時間を設定して状態グループ内の任意の 2 つの状態間を切り替えるには、[既定の切り替え効果の再生時間] ボックス内をクリックして新しい時間を入力します。これにより、ユーザー コントロールが状態グループ内の他の任意の状態に切り替わるための時間、またはその状態から切り替わるための時間が設定されます。
特定の切り替えについて既定の切り替え効果の再生時間を上書きするには、状態の隣の [切り替え効果の追加] ボタンをクリックし、表示された切り替え効果の一覧から特定の効果を選択します。マウス ポインタによって強調表示される次のイメージのリスト項目は、"Click 状態から他の任意の状態へ" を意味します。ここで、矢印は "~へ (切り替え先)" を、アスタリスク (*) は、"任意の状態" を表します。
[切り替え効果の再生時間] ボックス内をクリックし、新しい時間を入力します。
トラブルシューティング
- アプリケーションのビルド時に問題が発生する場合は、正しいバージョンの Silverlight がインストールされていない可能性があります。詳細については、「Silverlight 2 ツールとランタイムのインストール」を参照してください。
次の手順
マウス クリックに対するユーザー コントロールの応答を設定できます。詳細については、「ユーザー操作への応答でのステートの変更」を参照してください。
マウス ポインタをボタンの上に置いたときにそのボタンを回転させるなど、アニメーションを追加できます。詳細については、「状態の変更後に再生されるアニメーションの追加」を参照してください。
状態および状態グループを使用する実際のシナリオについては、Expression Community の Web サイト (英語の可能性あり) のビデオ チュートリアルを参照してください。