Timeline.BeginTime Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.