VisualStateGroup VisualStateGroup VisualStateGroup VisualStateGroup Class

定義

一度に 1 つしか選択できない VisualState オブジェクトと、ある状態から別の状態に遷移するために使用する VisualTransition オブジェクトを格納します。Contains mutually exclusive VisualState objects and VisualTransition objects that are used to move from one state to another.

public ref class VisualStateGroup : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("States")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualStateGroup : System.Windows.DependencyObject
type VisualStateGroup = class
    inherit DependencyObject
Public Class VisualStateGroup
Inherits DependencyObject
継承
属性

次の例では、単純なControlTemplateButton1 つを格納しているGridします。The following example creates a simple ControlTemplate for a Button that contains one Grid. 含まれています、VisualStateGroupという名前のCommonStates、定義する、MouseOverNormal状態。It also contains a VisualStateGroup named CommonStates, which defines the MouseOver and Normal states. VisualStateGroupもが、 VisualTransition 0.5 秒間を要することを指定する、Grid上でユーザーがマウス ポインターを動かしたときに、緑から赤に変更する、Buttonします。The VisualStateGroup also has a VisualTransition that specifies that it takes one half second for the Grid to change from green to red when the user moves the mouse pointer over the Button.

<ControlTemplate TargetType="Button">
  <Grid >
    <VisualStateManager.VisualStateGroups>
      <VisualStateGroup x:Name="CommonStates">

        <VisualStateGroup.Transitions>

          <!--Take one half second to trasition to the MouseOver state.-->
          <VisualTransition To="MouseOver" 
            GeneratedDuration="0:0:0.5"/>
        </VisualStateGroup.Transitions>

        <VisualState x:Name="Normal" />

        <!--Change the SolidColorBrush, ButtonBrush, to red when the
            mouse is over the button.-->
        <VisualState x:Name="MouseOver">
          <Storyboard>
            <ColorAnimation Storyboard.TargetName="ButtonBrush" 
              Storyboard.TargetProperty="Color" To="Red" />
          </Storyboard>
        </VisualState>
      </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
    <Grid.Background>
      <SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
    </Grid.Background>
  </Grid>
</ControlTemplate>

注釈

VisualStateGroupのコレクションを含むVisualStateオブジェクト。Each VisualStateGroup contains a collection of VisualState objects. AVisualStateのコレクションを含むStoryboardコントロールが特定の状態のときに、コントロールの外観がどのように変化するかを指定するオブジェクト。A VisualState contains a collection of Storyboard objects that specify how the control's appearance changes when the control is in a certain state. たとえば、Buttonが押されていない場合よりもそれが押されたとき、少し異なる外観があります。For example, a Button might have a slightly different appearance when it is pressed than when it is not pressed. 2 つの状態、Button定義が押されたときに対応 ("Pressed") ではない場合、("Normal")。Two states that the Button defines correspond to when it is pressed ("Pressed") and when it is not ("Normal").

追加するVisualState設定によってコントロールに、VisualStateManager.VisualStateGroupsコントロールのプロパティをアタッチします。You add VisualState to a control by setting the VisualStateManager.VisualStateGroups attached property on the control. 同じ相互に排他的な状態を保存するVisualStateGroupします。You put states that are mutually exclusive to each other in the same VisualStateGroup. たとえば、CheckBoxが 2 つありますVisualStateGroupオブジェクト。For example, the CheckBox has two VisualStateGroup objects. 状態が含まれていますNormalMouseOverPressed、およびDisabledします。One contains the states, Normal, MouseOver, Pressed, and Disabled. 状態が含まれているCheckedUnChecked、およびIndeterminateします。The other contains the states, Checked, UnChecked, and Indeterminate. CheckBox状態になることができますMouseOverUnCheckedと同時にすることはできませんが、MouseOverPressedと同時に状態。The CheckBox can be in states MouseOver and UnChecked at the same time, but it cannot be in the MouseOver and Pressed states at the same time.

追加できますが、VisualStateオブジェクトを任意の要素、特に便利な方法の視覚的な動作を再定義可能にするには、Controlします。Although you can add VisualState objects to any element, they are a particularly useful way to enable others to redefine the visual behavior of a Control. 使用するカスタム コントロールを作成する場合、 ControlTemplate、追加することによってコントロールにできることを示すことができます、TemplateVisualStateAttributeそのクラス定義で。If you create a custom control that uses a ControlTemplate, you can specify which states that control can be in by adding a TemplateVisualStateAttribute on its class definition. すべてのユーザーを新規作成しますControlTemplateコントロールを追加できるVisualStateテンプレートにオブジェクト。Then anyone who creates a new ControlTemplate for your control can add VisualState objects to the template. TemplateVisualStateAttributeコントロールの状態を公開する、Expression Blend などのデザイナー ツールを有効にします。The TemplateVisualStateAttribute enables designer tools, such as Expression Blend, to expose the control's states. 同じ状態TemplateVisualStateAttribute.GroupName同じ属するVisualStateGroupします。States with the same TemplateVisualStateAttribute.GroupName belong in the same VisualStateGroup.

使用する方法の詳細についてのVisualStateGroup内のオブジェクトをControlTemplateを参照してくださいControlTemplate の作成による既存のコントロールの外観のカスタマイズします。For more information about how to use VisualStateGroup objects in a ControlTemplate, see Customizing the Appearance of an Existing Control by Creating a ControlTemplate. 作成する方法の詳細については、その使用をコントロールには、VisualStateManagerを参照してください外観をカスタマイズできる作成、コントロールを持つします。For more information about how to create controls that use the VisualStateManager, see Creating a Control That Has a Customizable Appearance.

Transitionsプロパティを含むVisualTransitionでコントロールの遷移が間ことを示すときに適用されるオブジェクトが定義されている、VisualStateGroupします。The Transitions property contains VisualTransition objects that are applied when the control transition between states that are defined in the VisualStateGroup.

コンストラクター

VisualStateGroup() VisualStateGroup() VisualStateGroup() VisualStateGroup()

VisualStateGroup クラスの新しいインスタンスを初期化します。Initializes a new instance of the VisualStateGroup class.

プロパティ

CurrentState CurrentState CurrentState CurrentState

コントロールに現在適用されている VisualState を取得します。Gets the VisualState that is currently applied to the control.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

取得、DispatcherこのDispatcherObjectに関連付けられています。Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsSealed IsSealed IsSealed IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)
Name Name Name Name

VisualStateGroup の名前を取得または設定します。Gets or sets the name of the VisualStateGroup.

States States States States

同時に指定できない VisualState オブジェクトのコレクションを取得します。Gets the collection of mutually exclusive VisualState objects.

Transitions Transitions Transitions Transitions

VisualTransition オブジェクトのコレクションを取得します。Gets the collection of VisualTransition objects.

イベント

CurrentStateChanged CurrentStateChanged CurrentStateChanged CurrentStateChanged

コントロールが別の状態に遷移した後に発生します。Occurs after a control transitions to a different state.

CurrentStateChanging CurrentStateChanging CurrentStateChanging CurrentStateChanging

コントロールが別の状態への遷移を開始したときに発生します。Occurs when a control starts transitioning to a different state.

メソッド

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

呼び出し元のスレッドが、これに対するアクセス権を持つかどうかを判断しますDispatcherObjectします。Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、DependencyPropertyKey で指定します。The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. 変更が発生した特定の依存関係プロパティがイベント データで報告されます。The specific dependency property that changed is reported in the event data.

(Inherited from DependencyObject)
ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

呼び出し元のスレッドがこのへのアクセスを強制DispatcherObjectします。Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

適用対象