Udostępnij za pośrednictwem


Timeline.BeginTime Właściwość

Definicja

Pobiera lub ustawia czas rozpoczęcia tego 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)

Wartość właściwości

Czas rozpoczęcia tej Timeline względem BeginTimejej elementu nadrzędnego. Jeśli ta oś czasu jest osią czasu głównego, czas jest względny do interakcyjnego czasu rozpoczęcia (moment wyzwolenia osi czasu). Ta wartość może być dodatnia, ujemna lub null; wartość null oznacza, że oś czasu nigdy nie jest odtwarzana. Wartość domyślna to zero.

Przykłady

Właściwość BeginTime osi czasu określa początek aktywnego okresu osi czasu. Jeśli oś czasu ma oś czasu nadrzędną, właściwość BeginTime określa czas rozpoczęcia osi czasu po uruchomieniu elementu nadrzędnego. Jeśli oś czasu jest osią czasu głównego (na przykład Storyboard, właściwość BeginTime określa czas rozpoczęcia odtwarzania osi czasu po jego wyzwoleniu.

Poniższy przykład przedstawia kilka różnych osi czasu z różnymi ustawieniami 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>

Uwagi

Właściwość BeginTime jest przydatna do tworzenia osi czasu, które są odtwarzane w sekwencji: zwiększając BeginTime kolejnych osi czasu współużytkujących ten sam element nadrzędny, można rozsyłać czasy odtwarzania.

Wartości ujemne

Ujemna wartość BeginTime powoduje, że Timeline zachowywać się tak, jakby zaczęła się w przeszłości. Na przykład Timeline z BeginTime ujemnym 2,5 sekundy i Duration 5 sekund wydaje się być w połowie drogi zakończone po uruchomieniu.

BeginTime i SpeedRatio

Czas opisany przez właściwość BeginTime jest mierzony w czasie elementu nadrzędnego osi czasu. Na przykład oś czasu z BeginTime 5, których element nadrzędny ma SpeedRatio 2 faktycznie rozpoczyna się po 2,5 sekundy.

Własne ustawienie SpeedRatio osi czasu nie ma wpływu na jego BeginTime. Na przykład oś czasu z BeginTime 5 sekund, SpeedRatio 2 i osią czasu nadrzędnego z SpeedRatio 1 rozpoczyna się po 5 sekundach, a nie 2,5.

Informacje o właściwości zależności

Pole identyfikatora BeginTimeProperty
Właściwości metadanych ustawione na true Żaden

Użycie atrybutu XAML

< obiektuBeginTime="[-][dni.]godzin:minuty:sekundy[.ułamkoweSeconds]"/>

-lub-

< BeginTimeobiektu ="[-][dni.]godzin:minuty"/>

-lub-

< obiektBeginTime="[-]dni"/>

-lub-

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

Wartości XAML

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.

dni
System.Int32

Wartość większa niż lub równa 0, która opisuje liczbę dni obejmujących ten czas rozpoczęcia.

godzin
System.Int32

Wartość z zakresu od 0 do 23, która reprezentuje liczbę godzin obejmujących ten czas rozpoczęcia.

minut
System.Int32

Wartość z zakresu od 0 do 59, która reprezentuje liczbę minut obejmujących ten czas rozpoczęcia.

sekund
System.Int32

Wartość z zakresu od 0 do 59, która reprezentuje liczbę sekund rozpiętą do tego czasu.

ułamkoweSeconds
System.Int32

Wartość składająca się z od 1 do 7 cyfr reprezentujących ułamkowe sekundy.

Aby uzyskać pełną składnię TimeSpan, zobacz sekcję Uwagi na stronie Parse.

Dotyczy

Zobacz też