Timeline.BeginTime Propiedad

Definición

Obtiene o establece la hora a la que debe empezar Timeline.

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)

Valor de propiedad

Nullable<TimeSpan>

Hora a la que debe empezar Timeline con respecto a su propiedad BeginTime primaria. Si esta escala de tiempo es una escala de tiempo raíz, la hora es relativa a la hora de inicio interactiva (el momento en que se desencadenó la escala de tiempo). Este valor puede ser positivo, negativo, o null; un valor null significa que la escala de tiempo nunca se reproduce. El valor predeterminado es cero.

Ejemplos

La propiedad de una escala de BeginTime tiempo determina el principio del período activo de una escala de tiempo. Si la escala de tiempo tiene una escala de tiempo primaria, la BeginTime propiedad determina cuánto tiempo tarda la escala de tiempo en iniciarse después de que se inicie su elemento primario. Si la escala de tiempo es una escala de tiempo raíz ( Storyboardpor ejemplo, ), la BeginTime propiedad determina cuánto tiempo tarda la escala de tiempo en empezar a reproducirse después de que se desencadene.

En el ejemplo siguiente se muestran varias escalas de tiempo diferentes con diferentes BeginTime configuraciones.

<!-- 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>

Comentarios

La BeginTime propiedad es útil para crear escalas de tiempo que se reproducen en una secuencia: aumentando la BeginTime de escalas de tiempo sucesivas que comparten el mismo elemento primario, puede escalonar sus tiempos de juego.

Valores negativos

Un valor negativo BeginTime hace que se Timeline comporte como si comenzara en algún momento en el pasado. Por ejemplo, un Timeline objeto con un BeginTime valor negativo de 2,5 segundos y un Duration valor de 5 segundos parecerá estar medio terminado cuando se inicia.

BeginTime y SpeedRatio

El tiempo descrito por la BeginTime propiedad se mide en el tiempo del elemento primario de la escala de tiempo. Por ejemplo, una escala de tiempo con un BeginTime de 5 cuyo elemento primario tiene un SpeedRatio de 2 comienza realmente después de 2,5 segundos.

La propia SpeedRatio configuración de una escala de tiempo no afecta a su BeginTime. Por ejemplo, una escala de tiempo con un BeginTime valor de 5 segundos, un SpeedRatio de 2 y una escala de tiempo primaria con un SpeedRatio de 1 se inicia después de 5 segundos, no 2,5.

Información sobre propiedades de dependencia

Campo identificador BeginTimeProperty
Propiedades de metadatos establecidas en true Ninguno

Uso de atributos XAML

<object BeginTime="]:[days.] hours:minutes:seconds[.fractionalSeconds]"/>

o bien

<object BeginTime="]:[days.] hours:minutes"/>

o bien

<object BeginTime=">

o bien

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

Valores XAML

Los elementos entre corchetes ([ y ]) son opcionales.

days
System.Int32

Valor mayor o igual que 0 que describe el número de días que abarca esta hora de inicio.

hours
System.Int32

Valor comprendido entre 0 y 23 que representa el número de horas que abarca esta hora de inicio.

minutes
System.Int32

Valor comprendido entre 0 y 59 que representa el número de minutos que abarca esta hora de inicio.

segundos
System.Int32

Valor entre 0 y 59 que representa el número de segundos que abarca esta hora de inicio.

fractionalSeconds
System.Int32

Valor que consta de 1 a 7 dígitos que representa fracciones de segundos.

Para obtener la sintaxis completa TimeSpan , vea la sección Comentarios de la Parse página.

Se aplica a

Consulte también