LinearDoubleKeyFrame Classe

Définition

Anime à partir de la valeur double de l’image clé précédente à sa propre valeur à l’aide de l’interpolation linéaire.

public ref class LinearDoubleKeyFrame sealed : DoubleKeyFrame
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LinearDoubleKeyFrame final : DoubleKeyFrame
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LinearDoubleKeyFrame : DoubleKeyFrame
Public NotInheritable Class LinearDoubleKeyFrame
Inherits DoubleKeyFrame
<LinearDoubleKeyFrame .../>
Héritage
Object Platform::Object IInspectable DependencyObject DoubleKeyFrame LinearDoubleKeyFrame
Attributs

Exemples

Cet exemple XAML déplace un rectangle sur un écran. L’exemple utilise la classe LinearDoubleKeyFrame pour animer la propriété X d’une TranslateTransform appliquée à un Rectangle. Cette animation utilise trois images clés de la manière suivante :

  1. Au cours des trois premières secondes, il utilise une instance de la classe LinearDoubleKeyFrame pour déplacer le rectangle le long d’un chemin à un rythme stable de sa position de départ à la position de départ de 500. Les images clés linéaires comme LinearDoubleKeyFrame créent une transition linéaire fluide entre les valeurs.
  2. À la fin de la quatrième seconde, il utilise une instance de la classe DiscreteDoubleKeyFrame pour déplacer soudainement le rectangle à la position suivante. Des images clés discrètes comme DiscreteDoubleKeyFrame créent des sauts soudains entre les valeurs. Dans cet exemple, le rectangle se trouve à la position de départ, puis apparaît soudainement à la position 500.
  3. Au cours des deux dernières secondes, il utilise une instance de la classe SplineDoubleKeyFrame pour ramener le rectangle à sa position de départ. Les images clés spline comme SplineDoubleKeyFrame créent une transition de variable entre les valeurs en fonction de la valeur de la propriété KeySpline . Dans cet exemple, le rectangle commence par se déplacer lentement, puis accélère exponentiellement vers la fin du segment de temps.
<StackPanel>
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animate the TranslateTransform's X property
             from 0 to 350, then 50,
             then 200 over 10 seconds. -->
            <DoubleAnimationUsingKeyFrames
          Storyboard.TargetName="MyAnimatedTranslateTransform"
          Storyboard.TargetProperty="X"
          Duration="0:0:10" EnableDependentAnimation="True">

                <!-- Using a LinearDoubleKeyFrame, the rectangle moves 
                 steadily from its starting position to 500 over 
                 the first 3 seconds.  -->
                <LinearDoubleKeyFrame Value="500" KeyTime="0:0:3" />

                <!-- Using a DiscreteDoubleKeyFrame, the rectangle suddenly 
                 appears at 400 after the fourth second of the animation. -->
                <DiscreteDoubleKeyFrame Value="400" KeyTime="0:0:4" />

                <!-- Using a SplineDoubleKeyFrame, the rectangle moves 
                 back to its starting point. The
                 animation starts out slowly at first and then speeds up. 
                 This KeyFrame ends after the 6th
                 second. -->
                <SplineDoubleKeyFrame KeySpline="0.6,0.0 0.9,0.00" Value="0" KeyTime="0:0:6" />

            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </StackPanel.Resources>
    <Rectangle Fill="Blue" Width="50" Height="50" Loaded="Start_Animation">
        <Rectangle.RenderTransform>
            <TranslateTransform x:Name="MyAnimatedTranslateTransform" 
             X="0" Y="0" />
        </Rectangle.RenderTransform>
    </Rectangle>
</StackPanel>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}

Remarques

Les animations de trame clé permettent d’atteindre plusieurs valeurs cibles atteintes à un point le long de la chronologie d’animation. En d’autres termes, chaque image clé peut spécifier une valeur intermédiaire différente, et la dernière image clé atteinte est la valeur d’animation finale. En spécifiant plusieurs valeurs à animer, vous pouvez créer des animations plus complexes. Vous auriez généralement au moins deux images clés dans un DoubleAnimationUsingKeyFrames avec LinearDoubleKeyFrame, sinon une DoubleAnimation aurait été plus simple.

Pour plus d’informations sur l’utilisation des animations d’images clés, consultez animations d’images clés et animations de fonction d’accélération.

Constructeurs

Nom Description
LinearDoubleKeyFrame()

Initialise une nouvelle instance de la classe LinearDoubleKeyFrame .

Propriétés

Nom Description
Dispatcher

Retourne null toujours dans une application du Kit de développement logiciel (SDK) d’application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue résultat auquel cet objet est associé. Représente DispatcherQueue une installation qui peut accéder au DependencyObject thread d’interface utilisateur même si le code est initié par un thread non-interface utilisateur.

(Hérité de DependencyObject)
KeyTime

Obtient ou définit l’heure à laquelle la valeur cible de l’image clé doit être atteinte.

(Hérité de DoubleKeyFrame)
Value

Obtient ou définit la valeur cible de l’image clé.

(Hérité de DoubleKeyFrame)

Méthodes

Nom Description
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

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

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active.

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

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject.

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

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à une dependencyProperty spécifique sur cette instance DependencyObject .

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

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification qui a été précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi