Partager via


DiscretePointKeyFrame Classe

Définition

Anime à partir de la valeur Point de l’image clé précédente vers sa propre valeur à l’aide d’images discrètes.

public ref class DiscretePointKeyFrame sealed : PointKeyFrame
/// [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 DiscretePointKeyFrame final : PointKeyFrame
[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 DiscretePointKeyFrame : PointKeyFrame
Public NotInheritable Class DiscretePointKeyFrame
Inherits PointKeyFrame
<DiscretePointKeyFrame />
Héritage
Object Platform::Object IInspectable DependencyObject PointKeyFrame DiscretePointKeyFrame
Attributs

Exemples

Cet exemple XAML déplace une ellipse le long d’un chemin triangulaire. L’exemple utilise la classe PointAnimationUsingKeyFrames pour animer la propriété Center d’un EllipseGeometry. Cette animation utilise trois images clés de la manière suivante :

  1. Au cours de la première moitié de seconde, il utilise un instance de la classe LinearPointKeyFrame pour déplacer l’ellipse le long d’un chemin à un rythme régulier à partir de sa position de départ. Les images clés linéaires telles que LinearPointKeyFrame créent une interpolation linéaire fluide entre les valeurs.
  2. À la fin de la demi-seconde suivante, il utilise un instance de la classe DiscretePointKeyFrame pour déplacer soudainement l’ellipse le long du chemin vers la position suivante. Les images clés discrètes comme DiscretePointKeyFrame créent des sauts soudains entre les valeurs.
  3. Pendant les deux dernières secondes, il utilise un instance de la classe SplinePointKeyFrame pour replacer l’ellipse à sa position de départ. Les images clés spline comme SplinePointKeyFrame créent une transition de variable entre les valeurs en fonction des valeurs de la propriété KeySpline . Dans cet exemple, l’animation commence lentement, puis accélère de façon exponentielle jusqu’à la fin du segment temporel.
<Canvas Width="400" Height="300">
    <Canvas.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animating the Center property uses 3 KeyFrames, which animate
             the ellipse allong a triangular path. -->
            <PointAnimationUsingKeyFrames
          Storyboard.TargetProperty="Center"
          Storyboard.TargetName="MyAnimatedEllipseGeometry"
          Duration="0:0:5" RepeatBehavior="Forever" EnableDependentAnimation="True">

                <!-- Over the first half second, Using a LinearPointKeyFrame, the ellipse 
               moves steadily from its starting position along the first line of the 
               trianglar path.  -->
                <LinearPointKeyFrame KeyTime="0:0:0.5" Value="100,300" />

                <!-- Using a DiscretePointKeyFrame, the ellipse suddenly changes position
               after the first second of the animation. -->
                <DiscretePointKeyFrame KeyTime="0:0:1" Value="400,300" />

                <!-- Using a SplinePointKeyFrame, the ellipse moves back to its starting
               position. It moves slowly at first and then speeds up. This key frame 
               takes 2 seconds to complete. -->
                <SplinePointKeyFrame KeySpline="0.6,0.0 0.9,0.00" 
                 KeyTime="0:0:3" Value="200,100" />
            </PointAnimationUsingKeyFrames>
        </Storyboard>
    </Canvas.Resources>
    <Path Fill="Blue" Loaded="Start_Animation">
        <Path.Data>

            <!-- Describes an ellipse. -->
            <EllipseGeometry x:Name="MyAnimatedEllipseGeometry"
             Center="200,100" RadiusX="15" RadiusY="15" />
        </Path.Data>
    </Path>
</Canvas>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}

Remarques

Les animations par images clés autorisent plusieurs valeurs cibles pouvant être atteintes à divers points de la chronologie. En d’autres termes chaque image clé peut spécifier une valeur intermédiaire différente, et la dernière image clé atteinte correspond à la valeur finale de l’animation. En précisant plusieurs valeurs à animer, il vous est alors possible d’effectuer des animations plus complexes. Vous pouvez combiner des images clés discrètes, linéaires et spline dans la même collection d’images clés.

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

DiscretePointKeyFrame()

Initialise une nouvelle instance de la classe DiscretePointKeyFrame.

Propriétés

Dispatcher

Retourne null toujours dans une application SDK d'application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue auquel cet objet est associé. représente DispatcherQueue une fonctionnalité qui peut accéder au DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
KeyTime

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

(Hérité de PointKeyFrame)
Value

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

(Hérité de PointKeyFrame)

Méthodes

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’appliquerait 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 à un DependencyProperty spécifique sur ce 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 précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi