言語

VisualStateGroup.States プロパティ

定義

相互に排他的な VisualState オブジェクトのコレクションを取得します。

public:
 property System::Collections::IList ^ States { System::Collections::IList ^ get(); };
public System.Collections.IList States { get; }
member this.States : System.Collections.IList
Public ReadOnly Property States As IList

プロパティ値

相互に排他的な VisualState オブジェクトのコレクション。

次の例では、1 つのControlTemplateを含むButtonの単純なGridを作成します。 また、VisualStateGroupCommonStatesの状態を定義する MouseOver という名前のNormalも含まれています。 VisualStateGroupには、ユーザーがマウス ポインターをVisualTransitionの上に移動したときに、Gridが緑から赤に変わるまで 1/2 秒かかることを指定する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>

適用対象