Compartir vía


Timeline.BeginTime Propiedad

Definición

Obtiene o establece la hora en la que debe comenzar este 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

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

Ejemplos

La propiedad BeginTime de una escala de 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 propiedad BeginTime 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 (un Storyboard, por ejemplo), la propiedad BeginTime 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 configuraciones de BeginTime.

<!-- 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 propiedad BeginTime es útil para crear escalas de tiempo que se reproducen en una secuencia: aumentando el BeginTime de escalas de tiempo sucesivas que comparten el mismo elemento primario, puede escalonar sus tiempos de reproducción.

Valores negativos

Un valor de BeginTime negativo hace que un Timeline se comporte como si se iniciara en algún momento en el pasado. Por ejemplo, una Timeline con un BeginTime de 2,5 segundos negativos y un Duration de 5 segundos aparecerán medio terminados cuando se inicia.

BeginTime y SpeedRatio

El tiempo descrito por la propiedad BeginTime 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 configuración de SpeedRatio propia de una escala de tiempo no afecta a su BeginTime. Por ejemplo, una escala de tiempo con un BeginTime 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 de la propiedad dependency

Campo identificador BeginTimeProperty
Propiedades de metadatos establecidas en true Ninguno

Uso de atributos XAML

< objetoBeginTime="]:[días.]horas:minutos:segundos[.fracciones]"/>

-o-

< objetoBeginTime="]:[días.]horas:minutos"/>

-o-

< objetoBeginTime="],días"/>

-o-

< objetoBeginTime="{extensión de marcado x:Null}"/>

Valores XAML

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

días
System.Int32

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

horas
System.Int32

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

minutos
System.Int32

Valor 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.

fraccionesSeconds
System.Int32

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

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

Se aplica a

Consulte también