次の方法で共有


Blend でコントロール用ビジュアル状態を定義する

アプリケーションにインタラクティビティを追加するには、まず、UserControl コントロール、Window コントロール、Page コントロール、またはコントロール テンプレートの各状態に外観を定義し、ユーザーの操作に反応してその状態を切り替えるビヘイビアーやコードを追加します。 コントロールが特定の状態になると再生されるアニメーションを作成して、次の状態に徐徐に切り替わるようにすることもできます。

状態グループ

状態グループは、コントロールの表示状態を論理的に分類したものです。1 つのグループに属する複数の状態を同時に表示することはできません。 1 つのグループ内で一度に表示できる状態は 1 つだけですが、別々のグループに属する状態を同時に表示することはできます。

たとえば、トランプを表す UserControl コントロールで作業していて、カードが表向き (FaceUp) と裏向き (FaceDown) という状態を含む "SideDisplayed" という状態グループがあるとします。 また、ポインターをカードの上に置いたとき (MouaseOver)、およびカードをクリックしたとき (Click) にカードの外観が変わる状態を含む MouseInteraction という状態グループがあるとします。 カードが表向きのときに、その上でポインターを動かすことができます。これは、この 2 つの状態が別々の状態グループにあるからです。 しかし、カードを同時に表向きと裏向きにすることはできません。これは、この 2 つの状態が同じ状態グループに含まれているからです。

状態グループとトランプの状態

JJ170854.4fecf399-1962-4668-86e7-efe1a485cbc1(ja-jp,VS.120).png

詳細については、「ユーザー コントロールのビジュアル状態および切り替え時間の定義」を参照してください。

状態

状態を 1 つ選択すると、その状態の変更の記録が開始されます。 状態の記録を無効にするには、記録ボタン JJ170854.0dcc6415-6d4e-4fcf-a9a3-eb4664cb6cbc(ja-jp,VS.120).png をクリックするか、[状態] パネルで [ベース] を選択します。 1 つの状態グループに属する状態の外観を変更するときに、別のグループに属する状態も見たい場合は、1 つ目の状態の記録モードをオンにして、2 つ目の状態のプレビューを固定します。

詳細については、「ユーザー コントロールのビジュアル状態および切り替え時間の定義」を参照してください。

ユーザーの操作に反応して状態が切り替わるようにするには、GoToStateAction ビヘイビアーを使用するか、イベント ハンドラーにコードを書き込みます。

詳細については、「Blend でユーザー操作に対応する状態を変更する」を参照してください。

切り替え

ある状態から別の状態に切り替わるのにかかる時間を延ばすことができます。 切り替え時間は、状態グループ全体、または特定の状態の組み合わせに設定します。

状態グループに属するすべての状態の切り替え時間の設定

JJ170854.d1eabf30-62d2-47ae-a52b-453c702b9358(ja-jp,VS.120).png

クリックしたときの状態から他のすべての状態に切り替わる時間の設定

JJ170854.1ed8d611-1ce5-4101-ad73-54aa166c4e9a(ja-jp,VS.120).png

詳細については、「Blend で状態の切り替え時間を変更する」および「ユーザー コントロールのビジュアル状態および切り替え時間の定義」を参照してください。

レイアウトのプロパティが独立した値 (列や行の番号など) の間で変わるときや、自動的に設定される (幅や高さなど) ときに、状態がスムーズに切り替わるようにするには Fluid Layout を使用します。

詳細については、「ユーザー コントロールのビジュアル状態および切り替え時間の定義」を参照してください。

状態のアニメーション

コントロールが特定の状態に切り替わると再生されるアニメーションを追加できます。

詳細については、「Blend で状態の変更後に再生されるアニメーションを追加する」を参照してください。

参照

処理手順

Blend でシステム コントロールのスタイルを処理するために再利用可能なテンプレートを作成する

概念

Blend でユーザー コントロールを最初からデザイン

Blend での一般的な Silverlight コントロールのスタイル処理のヒント