Timeline.BeginTime Propriedade

Definição

Obtém ou define a hora em que esse Timeline deve começar.

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 da propriedade

Nullable<TimeSpan>

A hora em que esse Timeline deve começar, em relação ao seu pai BeginTime. Se essa linha do tempo for uma linha do tempo raiz, a hora será em relação à sua hora de início interativa (o momento em que a linha do tempo foi disparada). Esse valor pode ser positivo, negativo ou null; um valor null significa que a linha do tempo nunca é reproduzida. O valor padrão é zero.

Exemplos

A propriedade de uma linha do BeginTime tempo determina o início do período ativo de uma linha do tempo. Se a linha do tempo tiver uma linha do tempo pai, a BeginTime propriedade determinará quanto tempo a linha do tempo levará para ser iniciada após o início de seu pai. Se a linha do tempo for uma linha do tempo raiz (um Storyboard, por exemplo), a BeginTime propriedade determinará quanto tempo a linha do tempo leva para começar a ser reproduzida depois de disparada.

O exemplo a seguir mostra várias linhas do tempo diferentes com configurações diferentes 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>

Comentários

A BeginTime propriedade é útil para criar linhas do tempo que são reproduzidas em uma sequência: aumentando as BeginTime linhas do tempo sucessivas que compartilham o mesmo pai, você pode escalonar seus tempos de jogo.

Valores negativos

Um valor negativo BeginTime faz com que a ação Timeline se comporte como se fosse iniciada em algum momento no passado. Por exemplo, um Timeline com um BeginTime de 2,5 segundos negativos e um Duration de 5 segundos parecerá estar no meio do caminho quando começar.

BeginTime e SpeedRatio

O tempo descrito pela BeginTime propriedade é medido no tempo pai da linha do tempo. Por exemplo, uma linha do tempo com um BeginTime de 5 cujo pai tem um SpeedRatio de 2 realmente começa após 2,5 segundos.

A própria SpeedRatio configuração de uma linha do tempo não afeta sua BeginTime. Por exemplo, uma linha do tempo com um BeginTime de 5 segundos, um SpeedRatio de 2 e uma linha do tempo pai com um SpeedRatio de 1 começa após 5 segundos, não 2,5.

Informações da propriedade de dependência

Campo Identificador BeginTimeProperty
Propriedades de metadados definidas como true Nenhum

Uso do Atributo XAML

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

- ou -

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

- ou -

<object BeginTime="[-]days"/>

- ou -

<object BeginTime="{x:Extensão de marcação nula}"/>

Valores XAML

Os itens entre colchetes ([ e ]) são opcionais.

dias
System.Int32

Um valor maior ou igual a 0 que descreve o número de dias estendidos por esse horário de início.

horas
System.Int32

Um valor entre 0 e 23 que representa o número de horas estendidas por essa hora de início.

minutos
System.Int32

Um valor entre 0 e 59 que representa o número de minutos estendidos por essa hora de início.

segundos
System.Int32

Um valor entre 0 e 59 que representa o número de segundos estendidos por esta hora de início.

fractionalSeconds
System.Int32

Um valor que consiste em 1 a 7 dígitos que representa segundos fracionários.

Para obter a sintaxe completa TimeSpan , consulte a seção Comentários da Parse página.

Aplica-se a

Confira também