ColorAnimation Class

Anime la valeur d'une propriété Color entre deux valeurs cibles à l'aide d'une interpolation linéaire sur une Duration spécifiée.

Héritage

Object
  DependencyObject
    Timeline
      ColorAnimation

Syntaxe


public sealed class ColorAnimation : Timeline

Attributs

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]
[WebHostHidden()]

Membres

ColorAnimationClasse possède ces types de membres :

Constructeurs

ColorAnimationClasse possède ces constructeurs.

ConstructeurDescription
ColorAnimation Initializes a new instance of the ColorAnimation class.

 

Événements

ColorAnimationClasse possède ces événements.

ÉvénementDescription
Completed Occurs when the Storyboard object has completed playing. (Hérité de Timeline)

 

Méthodes

The ColorAnimation Classe a les méthodes suivantes. Elle hérite également des méthodes de Object Classe.

MéthodeDescription
ClearValue Clears the local value of a dependency property. (Hérité de DependencyObject)
GetAnimationBaseValue Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Hérité de DependencyObject)
GetValue Returns the current effective value of a dependency property from a DependencyObject. (Hérité de DependencyObject)
ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Hérité de DependencyObject)
SetValue Sets the local value of a dependency property on a DependencyObject. (Hérité de DependencyObject)

 

Propriétés

Le ColorAnimationClasse a les propriétés suivantes.

PropriétéType d'accèsDescription

AutoReverse

Lecture/écritureGets or sets a value that indicates whether the timeline plays in reverse after it completes a forward iteration. (Hérité de Timeline)

BeginTime

Lecture/écritureGets or sets the time at which this Timeline should begin. (Hérité de Timeline)

By

Lecture/écritureGets or sets the total amount by which the animation changes its starting value.

ByProperty

En lecture seuleIdentifies the By dependency property.

Dispatcher

En lecture seuleGets the CoreDispatcher that this object is associated with. (Hérité de DependencyObject)

Duration

Lecture/écritureGets or sets the length of time for which this timeline plays, not counting repetitions. (Hérité de Timeline)

EasingFunction

Lecture/écritureGets or sets the easing function applied to this animation.

EasingFunctionProperty

En lecture seuleIdentifies the EasingFunction dependency property.

EnableDependentAnimation

Lecture/écritureGets or sets a value that declares whether animated properties that are considered dependent animations should be permitted to use this animation declaration.

EnableDependentAnimationProperty

En lecture seuleIdentifies the EnableDependentAnimation dependency property.

FillBehavior

Lecture/écritureGets or sets a value that specifies how the animation behaves after it reaches the end of its active period. (Hérité de Timeline)

From

Lecture/écritureGets or sets the animation's starting value.

FromProperty

En lecture seuleIdentifies the From dependency property.

RepeatBehavior

Lecture/écritureGets or sets the repeating behavior of this timeline. (Hérité de Timeline)

SpeedRatio

Lecture/écritureGets or sets the rate, relative to its parent, at which time progresses for this Timeline. (Hérité de Timeline)

To

Lecture/écritureGets or sets the animation's ending value.

ToProperty

En lecture seuleIdentifies the To dependency property.

 

Remarques

Utilisez ColorAnimation pour animer la valeur de propriété de toute propriété de dépendance qui est de type Color.

L'interpolation linéaire d'un Color signifie que toutes les valeurs ARGB sont traitées comme un octet et que l'interpolation est simplement une opération mathématique. Vous obtenez de meilleurs résultats de l'interpolation de couleur si au moins un des composants RGB est identique ou proche en termes de valeur de départ et de valeur de fin.

Vous devez généralement utiliser le ciblage de propriété indirect afin de cibler une sous-propriété d'un autre objet étant la valeur d'une propriété sur la cible. C'est parce que très peu de propriétés qui affichent les informations concernant la couleur d'affichage dans les éléments d'interface utilisateur sont réellement de type Color. La plupart sont plutôt de type Brush. Pour utiliser ColorAnimation sur les éléments d'interface utilisateur, en général vous ciblez la propriété Color d'un SolidColorBrush qui est la valeur de sous-propriété. La syntaxe correspondante est illustrée dans l'exemple XAML de la section « Exemples ». Pour plus d'informations sur le ciblage indirect de propriété et autres concepts de l'animation avec plan conceptuel, consultez Animations avec plan conceptuel ou PropertyPath, syntaxe.

ColorAnimation a généralement au moins l'une des propriétés From, By ou To définies, mais jamais les trois.

  • From uniquement : l'animation passe de la valeur spécifiée par la propriété From à la valeur de base de la propriété en cours d'animation.
  • From et To : l'animation passe de la valeur définie par la propriété From à la valeur définie par la propriété To.
  • From et By : l'animation passe de la valeur définie par la propriété From à la valeur définie par la somme des propriétés From et By.
  • To uniquement : l'animation passe de la valeur de base de la propriété animée ou de la valeur de sortie de l'animation qui la précède à la valeur définie par la propriété To.
  • By uniquement : l'animation passe de la valeur de base de la propriété en cours d'animation ou de la valeur de sortie de l'animation qui la précède à la somme de cette dernière valeur et de la valeur définie par la propriété By.

Les propriétés From, By et ToColorAnimation ne sont pas strictement une valeur Color. Au lieu de cela, il s'agit d'un objet Nullable pour Color. La valeur par défaut de ces membres est null, pas une structure non initialisée. Cette valeur null concerne la façon dont le système d'animation distingue que vous n'avez pas défini spécifiquement une valeur. Les extensions de composants Visual C++ (C++/CX) n'ont pas de type Nullable. Elles utilisent ainsi IReference à la place.

Exemples

L'exemple suivant montre comment utiliser ColorAnimation pour animer la couleur d'arrière-plan de StackPanel.


<StackPanel x:Name="myStackPanel" Background="Red"
  Loaded="Start_Animation">
  <StackPanel.Resources>
    <Storyboard x:Name="colorStoryboard">

      <!-- Animate the background color of the canvas from red to green
        over 4 seconds. -->
      <ColorAnimation Storyboard.TargetName="myStackPanel" 
        Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)"
        From="Red" To="Blue" Duration="0:0:4"/>

    </Storyboard>
  </StackPanel.Resources>
</StackPanel>



// Start the animation when the object loads.
private void Start_Animation(object sender, RoutedEventArgs e)
{
    colorStoryboard.Begin();
}


Notez que dans l'exemple ci-dessus, la valeur de propriété qui est animée (Color) appartient à un objet SolidColorBrush, qui n'est pas nommé ni même déclaré explicitement. Ce ciblage indirect est obtenu en utilisant la syntaxe spéciale indiquée ci-dessous.


Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)"

Vous pouvez également créer explicitement SolidColorBrush, le nommer et cibler directement sa propriété Color. L'exemple suivant montre comment créer la même animation que dans l'exemple précédent, sauf qu'elle utilise le ciblage de propriété direct.


<StackPanel Loaded="Start_Animation">
  <StackPanel.Resources>
    <Storyboard x:Name="colorStoryboard">
      <!-- Animate the background color of the canvas from red to green
        over 4 seconds. -->
      <ColorAnimation Storyboard.TargetName="mySolidColorBrush"
        Storyboard.TargetProperty="Color" From="Red" To="Blue" Duration="0:0:4"/>
    </Storyboard>
  </StackPanel.Resources>

  <StackPanel.Background>
    <SolidColorBrush x:Name="mySolidColorBrush" Color="Red" />
  </StackPanel.Background>

</StackPanel>



// Start the animation when the object loads.
private void Start_Animation(object sender, RoutedEventArgs e)
{
    colorStoryboard.Begin();
}


Conditions requises

Client minimal pris en charge

Windows 8 [Applications Windows Store uniquement]

Serveur minimal pris en charge

Windows Server 2012 [Applications Windows Store uniquement]

Espace de noms

Windows.UI.Xaml.Media.Animation
Windows::UI::Xaml::Media::Animation [C++]

Métadonnées

Windows.winmd

Voir aussi

Animations avec table de montage séquentiel
XAML, exemple d'animation
Timeline
SolidColorBrush
LinearGradientBrush

 

 

Afficher:
© 2015 Microsoft