Partager via


VisualStateGroup Classe

Définition

Contient les objets VisualState mutuellement exclusifs et les objets VisualTransition utilisés pour passer d'un état à l'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 nommé CommonStates, qui définit les MouseOver états et Normal . a VisualStateGroup également un VisualTransition qui spécifie qu’il faut une demi-seconde pour que le Grid passe 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

Chaque VisualStateGroup contient une collection d’objets VisualState . Un VisualState contient une collection d’objets Storyboard qui spécifient comment l’apparence du contrôle change lorsque le contrôle se trouve dans un état donné. Par exemple, une Button peut avoir une apparence légèrement différente lorsqu’elle est enfoncée et quand elle n’est pas enfoncée. Deux états auxquels correspond le Button définit lorsqu’il est appuyé ("Pressed") et quand il n’est pas ("Normal").

Vous ajoutez VisualState à un contrôle en définissant la VisualStateManager.VisualStateGroups propriété jointe sur le contrôle. Vous placez les états qui s’excluent mutuellement dans le même VisualStateGroup. Par exemple, a CheckBox deux VisualStateGroup objets. L’un contient les états, Normal, MouseOver, Pressedet Disabled. L’autre contient les états , Checked, UnCheckedet Indeterminate. Le CheckBox peut être dans des états MouseOver et UnChecked en même temps, mais il ne peut pas être dans les MouseOver états et Pressed en même temps.

Bien que vous puissiez ajouter VisualState des objets à n’importe quel élément, ils sont particulièrement utiles pour permettre à d’autres personnes 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 un TemplateVisualStateAttribute à sa définition de classe. Toute personne qui crée un nouveau ControlTemplate pour votre contrôle peut ensuite ajouter VisualState des objets au modèle. Permet TemplateVisualStateAttribute aux outils de conception, tels que Visual Studio et Blend pour Visual Studio, d’exposer les états du contrôle. Les états ayant le même TemplateVisualStateAttribute.GroupName appartiennent dans le même VisualStateGroup.

Pour plus d’informations sur l’utilisation VisualStateGroup d’objets dans un ControlTemplate, consultez Personnalisation de l’apparence d’un contrôle existant en créant un ControlTemplate. Pour plus d’informations sur la création de contrôles qui utilisent , VisualStateManagerconsultez Création d’un contrôle ayant une apparence personnalisable.

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

Constructeurs

VisualStateGroup()

Initialise une nouvelle instance de la classe VisualStateGroup.

Propriétés

CurrentState

Obtient le VisualState actuellement appliqué au contrôle.

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

(Hérité de DependencyObject)
Name

Obtient ou définit le nom de l'objet VisualStateGroup.

States

Obtient la collection d'objets VisualState mutuellement exclusifs.

Transitions

Obtient la collection d'objets VisualTransition.

Méthodes

CheckAccess()

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

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

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

(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 DependencyPropertyKey.

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

Convertit la valeur de la propriété de dépendance spécifiée. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.

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

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

(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 le 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)

Réévalue la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

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

Méthode appelée chaque fois que la valeur effective d’une propriété de dépendance sur ce 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, si elle existe.

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

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

(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()

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)

Événements

CurrentStateChanged

Se produit après le passage d'un contrôle à un autre état.

CurrentStateChanging

Se produit lorsqu'un contrôle commence à passer à un état différent.

S’applique à