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