Freigeben über


VisualStateGroup.Name Eigenschaft

Definition

Ruft den Namen der VisualStateGroup ab oder legt diesen fest.

public:
 property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
public string Name { get; set; }
member this.Name : string with get, set
Public Property Name As String

Eigenschaftswert

Der Name von VisualStateGroup.

Beispiele

Im folgenden Beispiel werden zwei VisualStateGroup Objekte mit dem Namen CommonStates und FocusStateserstellt. Das Steuerelement befindet sich zu jeder VisualStateGroup Zeit in genau einem Zustand. Das gesamte Beispiel finden Sie unter Anpassen der Darstellung eines vorhandenen Steuerelements durch Erstellen einer 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>

Hinweise

Steuerelementautoren geben an, in welchen Zuständen sich das Steuerelement befinden kann, indem sie seiner Klassendefinition einen TemplateVisualStateAttribute hinzufügen. Zustände mit demselben TemplateVisualStateAttribute.GroupName gehören in denselben VisualStateGroup. Legen Sie den Name von VisualStateGroup auf den Wert der TemplateVisualStateAttribute.GroupName -Eigenschaft fest.

Gilt für: