Partager via


Timeline.BeginTime Propriété

Définition

Obtient ou définit l’heure à laquelle cette Timeline doit commencer.

public:
 property Nullable<TimeSpan> BeginTime { Nullable<TimeSpan> get(); void set(Nullable<TimeSpan> value); };
public TimeSpan? BeginTime { get; set; }
member this.BeginTime : Nullable<TimeSpan> with get, set
Public Property BeginTime As Nullable(Of TimeSpan)

Valeur de propriété

Heure à laquelle cette Timeline doit commencer, par rapport au BeginTimede son parent. Si cette chronologie est une chronologie racine, l’heure est relative à son heure de début interactive (moment auquel la chronologie a été déclenchée). Cette valeur peut être positive, négative ou null; une valeur null signifie que la chronologie ne joue jamais. La valeur par défaut est zéro.

Exemples

La propriété BeginTime d’une chronologie détermine le début de la période active d’une chronologie. Si la chronologie a une chronologie parente, la propriété BeginTime détermine le temps nécessaire au démarrage de la chronologie après le démarrage de son parent. Si la chronologie est une chronologie racine (un Storyboard, par exemple), la propriété BeginTime détermine la durée de lecture de la chronologie après son déclenchement.

L’exemple suivant montre plusieurs chronologies différentes avec des paramètres de BeginTime différents.

<!-- This example shows how the BeginTime property determines when a timeline starts.
     Several rectangles are animated by DoubleAnimations with identical 
     durations and target values, but with different
     BeginTime settings. -->
     
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="BeginTime Example">
  <StackPanel Margin="20">

    <!-- The rectangles to animate. -->
    <Rectangle Name="DefaultBeginTimeRectangle" 
      Width="20" Height="20" Fill="Blue"  />
      
    <Rectangle Name="DelayedBeginTimeRectangle" 
      Width="20" Height="20" Fill="Blue"  />
    
    <Rectangle Name="DelayedAnimationWithDelayedParentRectangle" 
      Width="20" Height="20" Fill="Blue"  /> 

    <Rectangle Name="NegativeBeginTimeExampleRectangle" 
      Width="20" Height="20" Fill="Blue"  />            
    
    <!-- Create a button to start the animations. -->
    <Button Margin="20" Content="Start Animations">
      <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
          <BeginStoryboard>
            <Storyboard>

              <!-- This animation starts as soon as the button is clicked, because it
                   has a BeginTime of 0. -->
              <DoubleAnimation 
                Storyboard.TargetName="DefaultBeginTimeRectangle" 
                Storyboard.TargetProperty="Width"
                BeginTime="0:0:0" From="100" To="600" Duration="0:0:5"  /> 

              <!-- This animation starts 5 seconds after the button is clicked. -->
              <DoubleAnimation 
                Storyboard.TargetName="DelayedBeginTimeRectangle" 
                Storyboard.TargetProperty="Width"  
                BeginTime="0:0:5" From="100" To="600" Duration="0:0:5" />
                
              <ParallelTimeline BeginTime="0:0:5">  

              <!-- This animation starts 10 seconds after the button is clicked, 
                   because its parent has a BeginTime of 5 seconds and it has
                   a BeginTime of 5 seconds: 5 + 5 = 10.  -->              
                <DoubleAnimation  
                  Storyboard.TargetName="DelayedAnimationWithDelayedParentRectangle" 
                  Storyboard.TargetProperty="Width" 
                  BeginTime="0:0:5" From="100" To="600" Duration="0:0:5"  />
              </ParallelTimeline>
              
              <!-- This animation starts as soon as the button is clicked, but
                   it animates from 350 to 600 instead of from 100 to 600 
                   because of its negative BeginTime. The negative BeginTime
                   setting advances the animation, so that it behaves as though
                   it had already been playing for 2.5 seconds as soon as it is
                   started. -->
              <DoubleAnimation 
                Storyboard.TargetName="NegativeBeginTimeExampleRectangle" 
                Storyboard.TargetProperty="Width"  
                BeginTime="-0:0:2.5" From="100" To="600" Duration="0:0:5" />              
              
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger>
      </Button.Triggers>      
    </Button>
    
    <!-- This example demonstrates how the BeginTime property works on a root timeline. -->
    <Rectangle Name="RootTimelineWithDelayedBeginTimeRectangle"
      Width="20" Height="20" Fill="Blue" >
      <Rectangle.Triggers>
        <EventTrigger RoutedEvent="Rectangle.MouseLeftButtonDown">
          <BeginStoryboard>
            <Storyboard BeginTime="0:0:5">
            
              <!-- This animation starts 5 seconds after the left mouse button
                   is pressed, because its parent storyboard (a root timeline)
                   has a BeginTime of 5 seconds. -->
              <DoubleAnimation 
                Storyboard.TargetName="RootTimelineWithDelayedBeginTimeRectangle" 
                Storyboard.TargetProperty="Width"
                BeginTime="0:0:0" From="100" To="600" Duration="0:0:2" />
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger>
      </Rectangle.Triggers>
    </Rectangle>    
  </StackPanel>
</Page>

Remarques

La propriété BeginTime est utile pour créer des chronologies qui jouent dans une séquence : en augmentant la BeginTime des chronologies successives qui partagent le même parent, vous pouvez décaler leurs temps de jeu.

Valeurs négatives

Une valeur de BeginTime négative entraîne le comportement d’un Timeline comme si elle a commencé à un moment donné dans le passé. Par exemple, une Timeline avec une BeginTime de 2,5 secondes négatives et une Duration de 5 secondes semble être terminée à mi-chemin au démarrage.

BeginTime et SpeedRatio

L’heure décrite par la propriété BeginTime est mesurée dans l’heure du parent de la chronologie. Par exemple, une chronologie avec une BeginTime de 5 dont le parent a une SpeedRatio de 2 démarre réellement après 2,5 secondes.

Le paramètre de SpeedRatio d’une chronologie n’affecte pas son BeginTime. Par exemple, une chronologie avec une BeginTime de 5 secondes, une SpeedRatio de 2 et une chronologie parente avec un SpeedRatio de 1 démarre après 5 secondes, et non 2,5.

Informations sur les propriétés de dépendance

Champ d’identificateur BeginTimeProperty
Propriétés de métadonnées définies sur true Aucun

Utilisation des attributs XAML

< objetBeginTime="[-][jours.]heures:minutes:secondes[.fractions]"/>

-ou-

< objetBeginTime="[-][jours.]heures:minutes« />

-ou-

< objetBeginTime="[-]jours« />

-ou-

< objetBeginTime="{x :Null Markup Extension}"/>

Valeurs XAML

Les éléments entre crochets ([ et ]) sont facultatifs.

jours
System.Int32

Valeur supérieure ou égale à 0 qui décrit le nombre de jours écoulés par cette heure de début.

heures
System.Int32

Valeur comprise entre 0 et 23 qui représente le nombre d’heures comprises entre cette heure de début.

minutes
System.Int32

Valeur comprise entre 0 et 59 qui représente le nombre de minutes délimitées par cette heure de début.

secondes
System.Int32

Valeur comprise entre 0 et 59 qui représente le nombre de secondes écoulées par cette heure de début.

fractionsecondes
System.Int32

Valeur composée de 1 à 7 chiffres qui représente des fractions de seconde.

Pour obtenir la syntaxe complète TimeSpan, consultez la section Remarques de la page Parse.

S’applique à

Voir aussi