KeyTime Structure
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie quand une image clé particulière doit prendre place pendant une animation.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
struct KeyTime
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public struct KeyTime
Public Structure KeyTime
<object property="[days.]hours:minutes:seconds[.fractionalSeconds]"/>
- Héritage
-
KeyTime
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Cet exemple utilise la syntaxe d’attribut XAML pour définir des valeurs KeyTime sur plusieurs types de classes DoubleAnimationUsingKeyFrames .
<Canvas>
<Canvas.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>
</Canvas.Resources>
<Rectangle PointerPressed="Pointer_Clicked" Fill="Blue"
Width="50" Height="50">
<Rectangle.RenderTransform>
<TranslateTransform x:Name="MyAnimatedTranslateTransform" />
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
myStoryboard.Begin();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
myStoryboard.Begin()
End Sub
Remarques
La propriété KeyTime de chaque image clé spécifie quand cette trame clé se termine. Il ne spécifie pas la durée de lecture de l’image clé. La durée de lecture d’une image clé est déterminée par le moment où l’image clé se termine, par le moment où l’image clé précédente a pris fin et par la durée de l’animation.
La spécification d’un KeyTime par un entier uniquement sans caractères littéraux d’intervalle de temps tels que : ou . entraîne un KeyTime de ce nombre de jours ! Il s’agit rarement du résultat prévu. En règle générale, vous spécifiez des intervalles de temps en secondes. Ainsi, la chaîne KeyTime inclut généralement des valeurs zéro précédentes pour les heures et les minutes, ainsi que le littéral : comme séparateur entre heures, minutes et secondes. Par exemple, pour spécifier un KeyTime de cinq secondes, la chaîne correcte est « 0:0:5 » (« 0:0:05 » est équivalent).
Remarques sur la syntaxe XAML
Vous ne pouvez pas déclarer un KeyTime en tant qu’objet partageable dans un ResourceDictionary.
Projection et membres de KeyTime
Si vous utilisez un langage Microsoft .NET (C# ou Microsoft Visual Basic) ou des extensions de composant Visual C++ (C++/CX), KeyTime a des méthodes utilitaires et son membre de données TimeSpan est exposé en tant que propriété en lecture seule, et non en tant que champ.
Pour Microsoft .NET, Duration expose TimeSpan.Parse pour son TimeSpan, une méthode FromTimeSpan et un opérateur Implicite . Celles-ci ne sont pas disponibles à partir de la structure dans les extensions de composant Visual C++ (C++/CX), mais vous pouvez utiliser KeyTimeHelper.FromTimeSpan.
Si vous programmez en C++ à l’aide de la bibliothèque de modèles Windows Runtime (WRL), seul le champ de membre de données TimeSpan existe en tant que membre de KeyTime. Le code WRL peut accéder à FromTimeSpan tel qu’il existe sur la classe KeyTimeHelper .
Champs
TimeSpan |
Composant de temps de ce KeyTime. |