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 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 passer Grid 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 comment 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 indiquent que les Button définitions correspondent au moment où il est enfoncé ("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 des états qui s’excluent mutuellement les uns des autres dans le même VisualStateGroup. Par exemple, les CheckBox deux VisualStateGroup objets sont présents. L’un contient les états, , Normal, MouseOveret Pressed``Disabled. L’autre contient les états, , Checked``UnCheckedet Indeterminate. Le CheckBox peut être dans les é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 un moyen particulièrement utile 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 ce 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. Il TemplateVisualStateAttribute permet aux outils de concepteur, tels que Visual Studio et Blend pour Visual Studio, 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 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 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

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 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 à