VisualStateGroup::Name Property
.NET Framework (current version)
Gets or sets the name of the VisualStateGroup.
Assembly: PresentationFramework (in PresentationFramework.dll)
Control authors specify which states the control can be in by adding a TemplateVisualStateAttribute on its class definition. States with the same TemplateVisualStateAttribute::GroupName belong in the same VisualStateGroup. Set the Name of the VisualStateGroup to the value of the TemplateVisualStateAttribute::GroupName property.
The following example creates two VisualStateGroup objects that are named CommonStates and FocusStates. The control will be in exactly one state from each VisualStateGroup at all times. For the entire example, see Customizing the Appearance of an Existing Control by Creating a ControlTemplate.
<VisualStateManager.VisualStateGroups> <!--Define the states and transitions for the common states. The states in the VisualStateGroup are mutually exclusive to each other.--> <VisualStateGroup Name="CommonStates"> <!--Define the VisualTransitions that can be used when the control transitions between VisualStates that are defined in the VisualStatGroup.--> <VisualStateGroup.Transitions> <!--Take one hundredth of a second to transition to the Pressed state.--> <VisualTransition To="Pressed" GeneratedDuration="0:0:0.01" /> <!--Take one half second to trasition to the MouseOver state.--> <VisualTransition To="MouseOver" GeneratedDuration="0:0:0.5" /> <!--Take one hundredth of a second to transition from the Pressed state to the MouseOver state.--> <VisualTransition From="Pressed" To="MouseOver" GeneratedDuration="0:0:0.01" /> <!--Take one and a half seconds to transition from the MouseOver state to the Normal state. Have the SolidColorBrush, BorderBrush, fade to blue, then to yellow, and then to black in that time.--> <VisualTransition From="MouseOver" To="Normal" GeneratedDuration="0:0:1.5"> <Storyboard> <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="Color" Storyboard.TargetName="BorderBrush" FillBehavior="HoldEnd" > <ColorAnimationUsingKeyFrames.KeyFrames> <LinearColorKeyFrame Value="Blue" KeyTime="0:0:0.5" /> <LinearColorKeyFrame Value="Yellow" KeyTime="0:0:1" /> <LinearColorKeyFrame Value="Black" KeyTime="0:0:1.5" /> </ColorAnimationUsingKeyFrames.KeyFrames> </ColorAnimationUsingKeyFrames> </Storyboard> </VisualTransition> </VisualStateGroup.Transitions> <!--The Normal state is the state the button is in when it is not in another state from this VisualStateGroup. There is no special visual behavior for this state, but the VisualState must be defined in order for the button to return to its initial state.--> <VisualState x:Name="Normal" /> <!--Change the border of the button 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 border of the button to Transparent when the button is pressed.--> <VisualState x:Name="Pressed"> <Storyboard > <ColorAnimation Storyboard.TargetName="BorderBrush" Storyboard.TargetProperty="Color" To="Transparent" /> </Storyboard> </VisualState> <!--Show the DisabledRect when the IsEnabled property on the button is false.--> <VisualState x:Name="Disabled"> <Storyboard> <DoubleAnimation Storyboard.TargetName="DisabledRect" Storyboard.TargetProperty="Opacity" To="1" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> <!--Define the states and transitions for the focus states. The states in the VisualStateGroup are mutually exclusive to each other.--> <VisualStateGroup x:Name="FocusStates"> <!--Define the VisualStates in this VistualStateGroup.--> <VisualState x:Name="Focused"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisual" Storyboard.TargetProperty="Visibility" Duration ="0"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Unfocused"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisual" Storyboard.TargetProperty="Visibility" Duration="0"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Collapsed</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups>
.NET Framework
Available since 4.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Available since 4.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Show: