Partager via


VisualStateGroup Classe

Définition

Contient des objets et VisualTransition des objets mutuellement exclusifs VisualState utilisés pour passer d’un état à un autre.

public ref class VisualStateGroup : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("States")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualStateGroup : System.Windows.DependencyObject
[<System.Windows.Markup.ContentProperty("States")>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type VisualStateGroup = class
    inherit DependencyObject
Public Class VisualStateGroup
Inherits DependencyObject
Héritage
Attributs

Exemples

L’exemple suivant crée un simple ControlTemplate pour un Button qui contient un Grid. Il contient également un VisualStateGroup nomCommonStates, qui définit les états et Normal les MouseOver états. Il VisualStateGroup a également un VisualTransition qui spécifie qu’il faut une demi-seconde pour que le Grid passage du vert au rouge lorsque l’utilisateur déplace le pointeur de la souris sur le 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>

Remarques

Chacun VisualStateGroup contient une collection d’objets VisualState . Un VisualState contient une collection d’objets Storyboard qui spécifient la façon dont l’apparence du contrôle change lorsque le contrôle est dans un certain état. Par exemple, une Button apparence peut être légèrement différente lorsqu’elle est enfoncée que lorsqu’elle n’est pas enfoncée. Deux états que les Button définitions correspondent au moment où elle est enfoncée ("Pressed") et quand elle n’est pas ("Normal").

Vous ajoutez VisualState un contrôle en définissant la VisualStateManager.VisualStateGroups propriété jointe sur le contrôle. Vous mettez des états mutuellement exclusifs les uns aux autres dans le même VisualStateGroup. Par exemple, les CheckBox deux VisualStateGroup objets sont présents. L’un contient les états, , Normal, MouseOverPressed, et Disabled. L’autre contient les états, , CheckedUnCheckedet Indeterminate. Il CheckBox peut se trouver dans des états MouseOver et UnChecked en même temps, mais il ne peut pas se trouver dans les MouseOver états et Pressed les états en même temps.

Bien que vous puissiez ajouter VisualState des objets à n’importe quel élément, ils sont un moyen particulièrement utile pour permettre aux autres de redéfinir le comportement visuel d’un Control. Si vous créez un contrôle personnalisé qui utilise un ControlTemplate, vous pouvez spécifier les états dans lesquels le contrôle peut se trouver en ajoutant une TemplateVisualStateAttribute sur sa définition de classe. Ensuite, toute personne qui crée un nouveau ControlTemplate contrôle peut ajouter VisualState des objets au modèle. Les TemplateVisualStateAttribute outils de concepteur, tels que Visual Studio et Blend pour Visual Studio, permettent d’exposer les états du contrôle. Les États ayant le même TemplateVisualStateAttribute.GroupName appartenance appartiennent au même VisualStateGroup.

Pour plus d’informations sur l’utilisation d’objets VisualStateGroup dans un ControlTemplate, consultez Comment créer un modèle pour un contrôle. Pour plus d’informations sur la création de contrôles qui utilisent le VisualStateManager, consultez Création d’un contrôle qui a une apparence personnalisable.

La Transitions propriété contient des VisualTransition objets appliqués lorsque la transition de contrôle entre les états définis dans le VisualStateGroup.

Constructeurs

Nom Description
VisualStateGroup()

Initialise une nouvelle instance de la classe VisualStateGroup.

Propriétés

Nom Description
CurrentState

Obtient l’élément VisualState actuellement appliqué au contrôle.

DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(Hérité de DispatcherObject)
IsSealed

Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule).

(Hérité de DependencyObject)
Name

Obtient ou définit le nom du VisualStateGroup.

States

Obtient la collection d’objets mutuellement exclusifs VisualState .

Transitions

Obtient la collection d’objets VisualTransition .

Méthodes

Nom Description
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un DependencyProperty identificateur.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey.

(Hérité de DependencyObject)
CoerceValue(DependencyProperty)

Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject.

(Hérité de DependencyObject)
Equals(Object)

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

(Hérité de DependencyObject)
GetHashCode()

Obtient un code de hachage pour ce DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Appelé chaque fois que la valeur effective d’une propriété de dépendance sur celle-ci DependencyObject a été mise à jour. La propriété de dépendance spécifique qui a changé est signalée dans les données d’événement.

(Hérité de DependencyObject)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, le cas échéant.

(Hérité de DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa source de valeur.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
VerifyAccess()

Applique que le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)

Événements

Nom Description
CurrentStateChanged

Se produit après une transition de contrôle vers un autre état.

CurrentStateChanging

Se produit lorsqu’un contrôle commence à passer à un autre état.

S’applique à