This documentation is archived and is not being maintained.

VisualState.Name Property

Gets or sets the name of the VisualState.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

public string Name { get; set; }
<object Name="string" .../>

Property Value

Type: System.String
The name of the VisualState.

You specify which visual state an element should enter by passing the Name of the VisualState to the VisualStateManager.

When a Control uses the VisualStateManager in a ControlTemplate, the control author should specify which VisualState objects the control expects to find in its ControlTemplate by putting the TemplateVisualStateAttribute on its class signature. ControlTemplate authors define new VisualState objects and set the Name property to the value specified by the TemplateVisualStateAttribute.Name property.

To find the names of the visual states for the controls that are included with WPF, see Control Styles and Templates. For information about how to create a ControlTemplate and VisualState objects for existing controls, see Customizing the Appearance of an Existing Control by Creating a ControlTemplate.

The following example creates a VisualStateGroup in the ControlTemplate of a Button called CommonStates and adds VisualState objects for the states, Normal, Pressed, and MouseOver. The Button also defines a state called Disabled that is in the CommonStates VisualStateGroup, but the example omits it for brevity. For the entire example, see Customizing the Appearance of an Existing Control by Creating a ControlTemplate.

  <!--Define the states and transitions for the common states.
      The states in the VisualStateGroup are mutually exclusive to
      each other.-->
  <VisualStateGroup Name="CommonStates">

    <!--The Normal state is the state the button is in
        when it is not in another state from this VisualStateGroup.-->
    <VisualState Name="Normal" />

    <!--Change the SolidColorBrush, BorderBrush, to red when the
        mouse is over the button.-->
    <VisualState Name="MouseOver">
        <ColorAnimation Storyboard.TargetName="BorderBrush" 
                        To="Red" />

    <!--Change the SolidColorBrush, BorderBrush, to Transparent when the
        button is pressed.-->
    <VisualState Name="Pressed">
        <ColorAnimation Storyboard.TargetName="BorderBrush" 

    <!--The Disabled state is omitted for brevity.-->

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.