RepeatBehavior 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.
Décrit comment une chronologie répète sa durée simple.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
struct RepeatBehavior
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public struct RepeatBehavior
Public Structure RepeatBehavior
<object property="iterationsx"/>
- or -
<object property="[days.]hours:minutes:seconds[.fractionalSeconds]"/>
- or -
<object property="Forever"/>
- Héritage
-
RepeatBehavior
- 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 montre plusieurs façons différentes de définir le RepeatBehavior d’une animation et comment ces paramètres peuvent affecter votre animation.
<StackPanel Margin="20">
<StackPanel.Resources>
<Storyboard x:Name="myStoryboard">
<!-- Create an animation that repeats indefinitely. -->
<DoubleAnimation
Storyboard.TargetName="ForeverRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2" RepeatBehavior="Forever" />
<!-- Create an animation that repeats for four seconds. Because
the animation is 2 seconds each, you get two repeats. -->
<DoubleAnimation
Storyboard.TargetName="FourSecondsRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2" RepeatBehavior="0:0:4"
EnableDependentAnimation="True"/>
<!-- Create an animation that repeats twice. -->
<DoubleAnimation
Storyboard.TargetName="TwiceRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2" RepeatBehavior="2x"
EnableDependentAnimation="True"/>
<!-- Create an animation that repeats 0.5 times. The resulting animation
plays for one second, half of its Duration. It animates from 50 to 150. -->
<DoubleAnimation
Storyboard.TargetName="HalfRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2" RepeatBehavior="0.5x"
EnableDependentAnimation="True"/>
<!-- Create an animation that repeats for one second. The resulting animation
plays for one second, half of its Duration. It animates from 50 to 150. -->
<DoubleAnimation
Storyboard.TargetName="OneSecondRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2" RepeatBehavior="0:0:1"
EnableDependentAnimation="True"/>
</Storyboard>
</StackPanel.Resources>
<!-- Create several rectangles to animate. -->
<Rectangle Fill="Red" Width="50" Height="20" >
<Rectangle.RenderTransform>
<ScaleTransform x:Name="ForeverRepeatingTransform" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="Blue" Width="50" Height="20" >
<Rectangle.RenderTransform>
<ScaleTransform x:Name="FourSecondsRepeatingTransform" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="Yellow" Width="50" Height="20" >
<Rectangle.RenderTransform>
<ScaleTransform x:Name="TwiceRepeatingTransform" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="Green" Width="50" Height="20" >
<Rectangle.RenderTransform>
<ScaleTransform x:Name="HalfRepeatingTransform" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="Orange" Width="50" Height="20" >
<Rectangle.RenderTransform>
<ScaleTransform x:Name="OneSecondRepeatingTransform" />
</Rectangle.RenderTransform>
</Rectangle>
<!-- Create buttons to restart and stop the animations. -->
<Button Margin="10" Content="Restart Animation" Click="Start_Animation" />
</StackPanel>
private void Start_Animation(object sender, RoutedEventArgs e)
{
myStoryboard.Begin();
}
Cet exemple montre comment définir repeatBehavior dans le code. Les animations sont les mêmes que dans l’exemple précédent, mais ont l’attribut x:Name défini, et le RepeatBehavior est défini dans la Start_Animation
méthode plutôt que dans XAML.
<Storyboard x:Name="myStoryboard">
<!-- Create an animation that repeats indefinitely. -->
<DoubleAnimation x:Name="ForeverRepeatingAnimation"
Storyboard.TargetName="ForeverRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2" />
<!-- Create an animation that repeats for four seconds. Because
the animation is 2 seconds each, you get two repeats. -->
<DoubleAnimation x:Name="FourSecondsRepeatingAnimation"
Storyboard.TargetName="FourSecondsRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2"
EnableDependentAnimation="True"/>
<!-- Create an animation that repeats twice. -->
<DoubleAnimation x:Name="TwiceRepeatingAnimation"
Storyboard.TargetName="TwiceRepeatingTransform"
Storyboard.TargetProperty="ScaleX"
From="1" To="5" Duration="0:0:2"
EnableDependentAnimation="True"/>
</Storyboard>
private void Start_Animation(object sender, RoutedEventArgs e)
{
// Set RepeatBehavior of Forever.
var repeatBehavior = new RepeatBehavior();
repeatBehavior.Type = RepeatBehaviorType.Forever;
ForeverRepeatingAnimation.RepeatBehavior = repeatBehavior;
// Set RepeatBehavior with Duration of 4 seconds.
FourSecondsRepeatingAnimation.RepeatBehavior = new RepeatBehavior(new TimeSpan(0, 0, 4));
// Set RepeatBehavior with Count of 2.
TwiceRepeatingAnimation.RepeatBehavior = new RepeatBehavior(2);
myStoryboard.Begin();
}
Remarques
Il existe trois types de comportements RepeatBehavior :
- Intervalle de temps : spécifie la durée active d’une chronologie, en répétant éventuellement l’animation si la chronologie.Duration est plus courte. Par exemple, une chronologie avec une valeur Timeline.Duration simple de 1 seconde et une valeur RepeatBehavior.Duration de 2,5 secondes s’exécute pendant 2,5 itérations et 2,5 secondes.
- Nombre d’itérations : spécifie le nombre de fois où la durée simple d’une chronologie est lue. Le nombre d’itérations par défaut est 1.0, ce qui signifie que la chronologie est active pendant exactement une de ses durées simples. Un nombre de 0,5 spécifie que le chronologie est actif pendant la moitié de sa durée simple, tandis qu’un nombre de 2 spécifie que le chronologie répète sa durée simple deux fois. Pour plus d’informations, consultez Count.
- Pour toujours : la chronologie se répète indéfiniment.
Un RepeatBehavior doit uniquement contenir des valeurs non nulles pour l’une de ses deux propriétés de données possibles Count ou Duration. Si repeatBehaviorType est Count, le membre Count d’un RepeatBehavior est la valeur appropriée. Si RepeatBehaviorType est Duration, le membre Duration d’un RepeatBehavior est la valeur appropriée. Si le RepeatBehaviorType est Forever, le nombre et la durée ne sont pas pertinents ; le comportement de répétition est tel que l’animation ciblée se répète continuellement sans limite.
Remarques sur la syntaxe XAML
Vous ne pouvez pas déclarer un RepeatBehavior en tant qu’objet partageable dans un ResourceDictionary.
Projection et membres de RepeatBehavior
Si vous utilisez un langage Microsoft .NET (C# ou Microsoft Visual Basic), RepeatBehavior dispose de membres autres que les données, et ses membres de données Count, Duration et Type sont exposés en tant que propriétés en lecture-écriture, et non en tant que champs.
Si vous utilisez des extensions de composant Visual C++ (C++/CX), RepeatBehavior a des membres non-data disponibles, et ses membres de données Count, Duration et Type sont exposés en tant que propriétés en lecture seule, pas en tant que champs.
Si vous programmez avec C++ à l’aide de la bibliothèque de modèles Windows Runtime (WRL), seuls les champs de membre de données Count, Duration et Type existent en tant que membres de RepeatBehavior, et vous ne pouvez pas utiliser les méthodes ou propriétés d’utilitaire répertoriées dans la table members. Le code WRL peut accéder à des méthodes d’utilitaire similaires qui existent sur la classe RepeatBehaviorHelper .
Champs
Count |
Nombre de fois qu’une chronologie doit se répéter. |
Duration |
Intervalle de temps pendant lequel une chronologie doit se répéter. |
Type |
Mode ou type de comportement de répétition que cette instance représente, en tant que valeur de l’énumération. |