Condividi tramite


Timeline.BeginTime Proprietà

Definizione

Ottiene o imposta l'ora di inizio dell'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)

Valore della proprietà

Ora in cui deve iniziare questa Timeline rispetto al BeginTimepadre. Se questa sequenza temporale è una sequenza temporale radice, l'ora è relativa all'ora di inizio interattiva (il momento in cui è stata attivata la sequenza temporale). Questo valore può essere positivo, negativo o null; un valore null indica che la sequenza temporale non viene mai riprodotta. Il valore predefinito è zero.

Esempio

La proprietà BeginTime di una sequenza temporale determina l'inizio del periodo attivo di una sequenza temporale. Se la sequenza temporale ha una sequenza temporale padre, la proprietà BeginTime determina per quanto tempo la sequenza temporale deve iniziare dopo l'avvio dell'elemento padre. Se la sequenza temporale è una sequenza temporale radice ,ad esempio un Storyboard, la proprietà BeginTime determina per quanto tempo la sequenza temporale richiede per iniziare la riproduzione dopo l'attivazione.

L'esempio seguente mostra diverse sequenze temporali con impostazioni di BeginTime diverse.

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

Commenti

La proprietà BeginTime è utile per creare sequenze temporali che giocano in una sequenza: aumentando la BeginTime di sequenze temporali successive che condividono lo stesso elemento padre, è possibile sfalsarne i tempi di riproduzione.

Valori negativi

Un valore negativo BeginTime fa sì che un Timeline si comporti come se fosse iniziato in un certo momento in passato. Ad esempio, un Timeline con un BeginTime negativo di 2,5 secondi e un Duration di 5 secondi apparirà a metà strada quando inizia.

BeginTime e SpeedRatio

L'ora descritta dalla proprietà BeginTime viene misurata nel tempo dell'elemento padre della sequenza temporale. Ad esempio, una sequenza temporale con un BeginTime di 5 il cui padre ha un SpeedRatio di 2 inizia effettivamente dopo 2,5 secondi.

L'impostazione di SpeedRatio di una sequenza temporale non influisce sul relativo BeginTime. Ad esempio, una sequenza temporale con un BeginTime di 5 secondi, un SpeedRatio di 2 e una sequenza temporale padre con un SpeedRatio di 1 inizia dopo 5 secondi, non 2,5.

Informazioni sulle proprietà di dipendenza

Campo Identificatore BeginTimeProperty
Proprietà dei metadati impostate su true Nessuno

Utilizzo degli attributi XAML

< 'oggettoBeginTime="*[giorni.]ore:minuti:secondi[.fractionalSeconds]"/>

-o-

< 'oggettoBeginTime="*[giorni.]ore:minuti"/>

-o-

< oggettoBeginTime="*giorni"/>

-o-

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

Valori XAML

Gli elementi tra parentesi quadre ([ e ]) sono facoltativi.

giorni
System.Int32

Valore maggiore o uguale a 0 che descrive il numero di giorni trascorsi da questa ora di inizio.

ore
System.Int32

Valore compreso tra 0 e 23 che rappresenta il numero di ore trascorse da questa ora di inizio.

minuti
System.Int32

Valore compreso tra 0 e 59 che rappresenta il numero di minuti intervallati da questa ora di inizio.

secondi
System.Int32

Valore compreso tra 0 e 59 che rappresenta il numero di secondi trascorsi da questa ora di inizio.

fractionalSeconds
System.Int32

Valore costituito da 1 a 7 cifre che rappresenta secondi frazionari.

Per la sintassi TimeSpan completa, vedere la sezione Osservazioni della pagina Parse.

Si applica a

Vedi anche