Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
LinearRotation3DKeyFrame, classe
Passe de Rotation3D la valeur correspondant à la précédente image clé à sa propre valeur Value en utilisant une opération d'interpolation linéaire.
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Freezable
System.Windows.Media.Animation.Rotation3DKeyFrame
System.Windows.Media.Animation.LinearRotation3DKeyFrame
Assembly : PresentationCore (dans PresentationCore.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Le type LinearRotation3DKeyFrame expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
LinearRotation3DKeyFrame() | Initialise une nouvelle instance de la classe LinearRotation3DKeyFrame. |
|
LinearRotation3DKeyFrame(Rotation3D) | Initialise une nouvelle instance de la classe LinearRotation3DKeyFrame avec la valeur de fin spécifiée. |
|
LinearRotation3DKeyFrame(Rotation3D, KeyTime) | Initialise une nouvelle instance de la classe LinearRotation3DKeyFrame avec la valeur de fin et la période de clé spécifiées. |
| Nom | Description | |
|---|---|---|
|
CanFreeze | Obtient une valeur qui indique la possibilité ou non de rendre un objet non modifiable. (Hérité de Freezable.) |
|
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.) |
|
IsFrozen | Obtient une valeur qui indique si l'objet est actuellement modifiable ou pas. (Hérité de Freezable.) |
|
IsSealed | Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule). (Hérité de DependencyObject.) |
|
KeyTime | Obtient ou établit l'heure à laquelle la valeur cible Value de l'image clé doit être atteinte. (Hérité de Rotation3DKeyFrame.) |
|
Value | Obtient ou définit la valeur cible de l'image clé. (Hérité de Rotation3DKeyFrame.) |
| Nom | Description | |
|---|---|---|
|
CheckAccess | Détermine si le thread appelant a accès à ce DispatcherObject. (Hérité de DispatcherObject.) |
|
ClearValue(DependencyProperty) | Efface la valeur de proximité 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 de proximité d'une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey. (Hérité de DependencyObject.) |
|
Clone | Crée un clone modifiable de Freezable, en créant des copies complètes des valeurs de l'objet. Lors de la copie des propriétés de dépendance de l'objet, cette méthode copie les expressions (qui risquent de ne plus pouvoir se résoudre) mais pas les animations ou leurs valeurs actuelles. (Hérité de Freezable.) |
|
CloneCore | Convertit l'instance en clone (copie complète) du Freezable spécifié à l'aide des valeurs de propriétés (non-animées) de base. (Hérité de Freezable.) |
|
CloneCurrentValue | Crée un clone modifiable (copie complète) de Freezable en utilisant ses valeurs actuelles. (Hérité de Freezable.) |
|
CloneCurrentValueCore | Convertit l'instance en clone modifiable (copie complète) du Freezable spécifié à l'aide des valeurs de propriétés actuelles. (Hérité de Freezable.) |
|
CoerceValue | Force la valeur de la propriété de dépendance spécifiée. Cette opération est accomplie en appelant toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance comme elle existe sur le DependencyObject appelant. (Hérité de DependencyObject.) |
|
CreateInstance | Initialise une nouvelle instance de la classe Freezable. (Hérité de Freezable.) |
|
CreateInstanceCore | Crée une nouvelle instance de LinearRotation3DKeyFrame. (Substitue Freezable.CreateInstanceCore().) |
|
Equals | Détermine si un DependencyObject fourni est équivalent au DependencyObject réel. (Hérité de DependencyObject.) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
Freeze() | Rend l'objet actuel non modifiable et définit sa propriété IsFrozen sur true. (Hérité de Freezable.) |
|
FreezeCore | Rend l'objet Freezable non modifiable ou vérifie si celui-ci peut être rendu non modifiable ou pas. (Hérité de Freezable.) |
|
GetAsFrozen | Crée une copie figée de Freezable, à l'aide des valeurs de propriété (non-animées) de base. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence. (Hérité de Freezable.) |
|
GetAsFrozenCore | Convertit l'instance en clone figé du Freezable spécifié à l'aide des valeurs de propriétés (non-animées) de base. (Hérité de Freezable.) |
|
GetCurrentValueAsFrozen | Crée une copie figée de Freezable à l'aide des valeurs de propriété actuelles. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence. (Hérité de Freezable.) |
|
GetCurrentValueAsFrozenCore | Convertit l'instance actuelle en un clone figé du Freezable spécifié. Si l'objet comporte des propriétés de dépendance animées, leurs valeurs animées actuelles sont copiées. (Hérité de Freezable.) |
|
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 | Retourne la valeur effective actuelle d'une propriété de dépendance sur cette instance d'un DependencyObject. (Hérité de DependencyObject.) |
|
InterpolateValue | Retourne la valeur interpolée d'une image clé spécifique en fonction de l'incrément de progression fourni. (Hérité de Rotation3DKeyFrame.) |
|
InterpolateValueCore | Interpole, de manière linéaire, entre la valeur de l'image clé précédente et celle de l'image clé actuelle, à l'aide de l'incrément de progression fourni. (Substitue Rotation3DKeyFrame.InterpolateValueCore(Rotation3D, Double).) |
|
InvalidateProperty | Réévalue la valeur effective pour la propriété de dépendance spécifiée (Hérité de DependencyObject.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
OnChanged | Appelé lors de la modification de l'objet Freezable actuel. (Hérité de Freezable.) |
|
OnFreezablePropertyChanged(DependencyObject, DependencyObject) | Garantit que les pointeurs de contexte appropriés sont établis pour un membre de données de type DependencyObjectType qui vient juste d'être défini. (Hérité de Freezable.) |
|
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) | Ce membre prend en charge l'infrastructure Windows Presentation Foundation (WPF) et n'est pas conçu pour être utilisé directement à partir du code. (Hérité de Freezable.) |
|
OnPropertyChanged | Substitue l'implémentation DependencyObject de OnPropertyChanged pour appeler également tous les gestionnaires Changed en réponse à une propriété de dépendance variable de type Freezable. (Hérité de Freezable.) |
|
ReadLocalValue | Retourne la valeur de proximité d'une propriété de dépendance, si elle existe. (Hérité de DependencyObject.) |
|
ReadPreamble | Garantit que Freezable est accessible à partir d'un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API lisant les membres de données qui ne sont pas des propriétés de dépendance. (Hérité de Freezable.) |
|
SetCurrentValue | Définit la valeur d'une propriété de dépendance sans modifier sa source de valeur. (Hérité de DependencyObject.) |
|
SetValue(DependencyProperty, Object) | Définit la valeur de proximité 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 de proximité 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 | Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur pour 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.) |
|
WritePostscript | Déclenche l'événement Changed pour Freezable et appelle sa méthode OnChanged. Les classes qui dérivent de Freezable doivent appeler cette méthode à la fin de toute API qui modifie des membres de classe non stockés en tant que propriétés de dépendance. (Hérité de Freezable.) |
|
WritePreamble | Vérifie que le Freezable n'est pas figé et que son accès s'effectue à partir d'un contexte de thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API écrivant les membres de données qui ne sont pas des propriétés de dépendance. (Hérité de Freezable.) |
| Nom | Description | |
|---|---|---|
|
IKeyFrame.Value | Obtient ou définit la valeur associée à une instance KeyTime. (Hérité de Rotation3DKeyFrame.) |
Cette classe est utilisée dans le cadre d'une collection Rotation3DKeyFrameCollection avec un objet Rotation3DAnimationUsingKeyFrames afin d'animer une valeur de la propriété Rotation3D en fonction d'un ensemble d'images clés.
Une image clé définit un segment du Rotation3DAnimationUsingKeyFrames auquel elle appartient. Une valeur Value cible et une période de clé KeyTime sont définies pour chaque image clé. Le KeyTime spécifie l'heure à laquelle la valeur Value de l'image clé doit être atteinte. Une image clé passe de la valeur cible de l'image clé précédente à sa propre valeur cible. Elle démarre à la fin de l'image clé précédente et s'achève au terme de sa propre période de clé.
Les images clés linéaires telles que LinearRotation3DKeyFrame créent une interpolation linéaire homogène entre les valeurs.
In the following example, Rotation3DAnimationUsingKeyFrames is used to make a 3D object rotate while its axis of rotation animates resulting in a "wobble". This animation uses the following key frames:
-
LinearRotation3DKeyFrame is used to create a smooth, linear interpolation between values.
-
DiscreteRotation3DKeyFrame is used to create sudden "jumps" between values (no interpolation).
-
SplineRotation3DKeyFrame is used to create a variable transition between values depending on the KeySpline property. In the example below, this part of the animation starts off slow but toward the end of the time segment, speeds up exponentially.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <DockPanel> <Viewbox> <Canvas Width="321" Height="201"> <!-- The Viewport3D provides a rendering surface for 3-D visual content. --> <Viewport3D Name="MyAnimatedObject" ClipToBounds="True" Width="150" Height="150" Canvas.Left="0" Canvas.Top="10"> <!-- Defines the camera used to view the 3D object. --> <Viewport3D.Camera> <PerspectiveCamera Position="0,0,2" LookDirection="0,0,-1" FieldOfView="60" /> </Viewport3D.Camera> <!-- The ModelVisual3D children contain the 3D models --> <Viewport3D.Children> <!-- Two ModelVisual3D define the lights cast in the scene. Without light, the 3D object cannot be seen. Also, the direction of the lights affect shadowing. --> <ModelVisual3D> <ModelVisual3D.Content> <DirectionalLight Color="#FFFFFF" Direction="-0.612372,-0.5,-0.612372" /> </ModelVisual3D.Content> </ModelVisual3D> <ModelVisual3D> <ModelVisual3D.Content> <DirectionalLight Color="#FFFFFF" Direction="0.612372,-0.5,-0.612372" /> </ModelVisual3D.Content> </ModelVisual3D> <ModelVisual3D> <ModelVisual3D.Content> <GeometryModel3D> <!-- The geometry specifes the shape of the 3D plane. In this case, a flat sheet is created. --> <GeometryModel3D.Geometry> <MeshGeometry3D TriangleIndices="0,1,2 3,4,5 " Normals="0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 " TextureCoordinates="0,0 1,0 1,1 1,1 0,1 0,0 " Positions="-0.5,-0.5,0.5 0.5,-0.5,0.5 0.5,0.5,0.5 0.5,0.5,0.5 -0.5,0.5,0.5 -0.5,-0.5,0.5 " /> </GeometryModel3D.Geometry> <!-- The material specifies the material applied to the plane. In this case it is a linear gradient.--> <GeometryModel3D.Material> <MaterialGroup> <DiffuseMaterial> <DiffuseMaterial.Brush> <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> <LinearGradientBrush.GradientStops> <GradientStop Color="Yellow" Offset="0" /> <GradientStop Color="Red" Offset="0.25" /> <GradientStop Color="Blue" Offset="0.75" /> <GradientStop Color="LimeGreen" Offset="1" /> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </DiffuseMaterial.Brush> </DiffuseMaterial> </MaterialGroup> </GeometryModel3D.Material> <!-- The Transform specifies how to transform the 3D object. The properties of the Rotation object are animated causing the 3D object to rotate and "wobble" (see Storyboard below).--> <GeometryModel3D.Transform> <RotateTransform3D x:Name="myRotateTransform3D" > <RotateTransform3D.Rotation> <AxisAngleRotation3D Axis="0,3,0" Angle="40" /> </RotateTransform3D.Rotation> </RotateTransform3D> </GeometryModel3D.Transform> </GeometryModel3D> </ModelVisual3D.Content> </ModelVisual3D> </Viewport3D.Children> <!-- Trigger the rotation animation when the 3D object loads. --> <Viewport3D.Triggers> <EventTrigger RoutedEvent="Viewport3D.Loaded"> <BeginStoryboard> <Storyboard> <!-- This animation animates the Rotation property of the RotateTransform causing the 3D shape to rotate and wobble as the rotation angle and axis are animated. --> <Rotation3DAnimationUsingKeyFrames Storyboard.TargetName="myRotateTransform3D" Storyboard.TargetProperty="Rotation" > <Rotation3DAnimationUsingKeyFrames.KeyFrames> <!-- Using a LinearRotation3DKeyFrame, the object gradually rotates to an angle of -60 degrees while the axis of rotation shifts (animates) to a new value. --> <LinearRotation3DKeyFrame KeyTime="0:0:1"> <LinearRotation3DKeyFrame.Value> <AxisAngleRotation3D Axis="1,0,1" Angle="-60" /> </LinearRotation3DKeyFrame.Value> </LinearRotation3DKeyFrame> <!-- Using a DiscreteRotation3DKeyFrame, the object suddenly rotates to the an angle of 80 degrees on a new axis. This happens immdeiately after the first 1 and a half seconds of the animation. --> <DiscreteRotation3DKeyFrame KeyTime="0:0:1.5"> <DiscreteRotation3DKeyFrame.Value> <AxisAngleRotation3D Axis="0,0,1" Angle="80" /> </DiscreteRotation3DKeyFrame.Value> </DiscreteRotation3DKeyFrame> <!-- Using a SplineRotation3DKeyFrame, the object rotates back to its starting position. The animation starts out slowly at first and then speeds up. This KeyFrame ends after the fourth second. --> <SplineRotation3DKeyFrame KeySpline="0.6,0.0 0.9,0.00" KeyTime="0:0:4"> <SplineRotation3DKeyFrame.Value> <AxisAngleRotation3D Axis="0,3,0" Angle="40" /> </SplineRotation3DKeyFrame.Value> </SplineRotation3DKeyFrame> </Rotation3DAnimationUsingKeyFrames.KeyFrames> </Rotation3DAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Viewport3D.Triggers> </Viewport3D> </Canvas> </Viewbox> </DockPanel> </Page>
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.