VisualStateManager.VisualStateGroups 添付プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
VisualStateGroup オブジェクトのコレクションを取得または設定します。
see GetVisualStateGroups
see GetVisualStateGroups
see GetVisualStateGroups
例
次の例では、1 つGridを含む a Button の単純なControlTemplateオブジェクトを作成します。 また、状態と状態を VisualStateGroup 定義する名前付き CommonStates
が MouseOver
含 Normal
まれています。 また VisualStateGroup 、ユーザーがマウス ポインターを VisualTransition 上に移動したときに緑から赤に変わるのに 1/2 秒 Grid かかることを指定する Buttona もあります。
<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 コレクションが含まれています。 A VisualState には、コントロールが特定の Storyboard 状態のときにコントロールの外観がどのように変化するかを指定するオブジェクトのコレクションが含まれます。 たとえば、押 Button された場合と押されていない場合の外観が若干異なる場合があります。 定義が Button () 押されたとき"Pressed"
と () でない"Normal"
場合に対応する 2 つの状態。
コントロールに追加 VisualState するには、コントロールに VisualStateGroups 添付プロパティを設定します。 相互に排他的な状態を同じ VisualStateGroupに配置します。 たとえば、 CheckBox 2 つの VisualStateGroup オブジェクトがあります。 1 つには、状態、、Normal
、Pressed``MouseOver
および Disabled
. もう 1 つには、状態、 Checked
、、 UnChecked
および Indeterminate
. 状態CheckBoxとUnChecked
同時に指定MouseOver
できますが、同時にMouseOver
状態とPressed
状態にすることはできません。
任意の要素にオブジェクトを追加 VisualState できますが、他のユーザー Controlが . を使用 ControlTemplateするカスタム コントロールを作成する場合は、そのクラス定義に追加することで、コントロールを含めることができる状態を TemplateVisualStateAttribute 指定できます。 その後、コントロールの新 ControlTemplate しいオブジェクトを作成するすべてのユーザーが、テンプレートにオブジェクトを追加 VisualState できます。 同じ状態は同じSystem.Windows.TemplateVisualStateAttribute.GroupNameVisualStateGroupに属します。
オブジェクトの使用方法VisualStateGroupの詳細については、「ControlTemplate を作成して既存のコントロールの外観をカスタマイズする」を参照してください。ControlTemplate を使用 VisualStateManagerするコントロールを作成する方法の詳細については、「 カスタマイズ可能な外観を持つコントロールの作成」を参照してください。