VisualState クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コントロールが特定の状態にある場合の外観を表します。
public ref class VisualState : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("Storyboard")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualState : System.Windows.DependencyObject
[<System.Windows.Markup.ContentProperty("Storyboard")>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type VisualState = class
inherit DependencyObject
Public Class VisualState
Inherits DependencyObject
- 継承
- 属性
例
次の例では、CommonStates
と呼ばれる Button の ControlTemplate に VisualStateGroup を作成し、状態、Normal
、Pressed
、および MouseOver
の VisualState オブジェクトを追加します。
Button では、CommonStates
VisualStateGroup内にある Disabled
と呼ばれる状態も定義されますが、簡潔にするために省略されています。 例全体については、「ControlTemplateを作成して既存のコントロールの外観をカスタマイズする」を参照してください。
<!--Define the states and transitions for the common states.
The states in the VisualStateGroup are mutually exclusive to
each other.-->
<VisualStateGroup x:Name="CommonStates">
<!--The Normal state is the state the button is in
when it is not in another state from this VisualStateGroup.-->
<VisualState x:Name="Normal" />
<!--Change the SolidColorBrush, BorderBrush, to red when the
mouse is over the button.-->
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="BorderBrush"
Storyboard.TargetProperty="Color"
To="Red" />
</Storyboard>
</VisualState>
<!--Change the SolidColorBrush, BorderBrush, to Transparent when the
button is pressed.-->
<VisualState x:Name="Pressed">
<Storyboard>
<ColorAnimation Storyboard.TargetName="BorderBrush"
Storyboard.TargetProperty="Color"
To="Transparent"/>
</Storyboard>
</VisualState>
<!--The Disabled state is omitted for brevity.-->
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
注釈
VisualState は、コントロールが特定の状態にある場合の外観を指定します。 たとえば、Button が押されると、境界線の色が通常とは異なる場合があります。 VisualState クラスには、コントロールの外観を変更する Storyboard プロパティがあります。 コントロールが VisualState.Name プロパティで指定された状態になると、Storyboard が開始されます。 コントロールが状態を終了すると、Storyboard は停止します。
VisualStateGroup.States プロパティには、VisualState オブジェクトが含まれています。 VisualStateGroup オブジェクトは、FrameworkElement上で定義されている VisualStateManager.VisualStateGroups 添付プロパティに追加されます。 VisualState オブジェクトは任意の FrameworkElementに追加できますが、通常は Controlの ControlTemplate で使用されます。 既存のコントロールの ControlTemplate オブジェクトと VisualState オブジェクトを作成する方法については、「ControlTemplateを作成して既存のコントロールの外観をカスタマイズする」を参照してください。 ControlTemplateの外部で VisualState オブジェクトを使用する例については、VisualStateManager クラスを参照してください。
コンストラクター
VisualState() |
VisualState クラスの新しいインスタンスを初期化します。 |
プロパティ
DependencyObjectType |
このインスタンスの CLR 型をラップする DependencyObjectType を取得します。 (継承元 DependencyObject) |
Dispatcher |
この DispatcherObject が関連付けられている Dispatcher を取得します。 (継承元 DispatcherObject) |
IsSealed |
このインスタンスが現在シールされているかどうかを示す値を取得します (読み取り専用)。 (継承元 DependencyObject) |
Name |
VisualStateの名前を取得または設定します。 |
Storyboard |
コントロールが VisualStateで表される状態にある場合のコントロールの外観を定義する Storyboard を取得または設定します。 |
メソッド
適用対象
.NET