Bagikan melalui


Timeline.BeginTime Properti

Definisi

Mendapatkan atau mengatur waktu di mana Timeline ini harus dimulai.

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)

Nilai Properti

Waktu di mana Timeline ini harus dimulai, relatif terhadap BeginTimeinduknya . Jika garis waktu ini adalah garis waktu akar, waktu relatif terhadap waktu mulai interaktifnya (saat di mana garis waktu dipicu). Nilai ini mungkin positif, negatif, atau null; nilai null berarti garis waktu tidak pernah diputar. Nilai defaultnya adalah nol.

Contoh

Properti BeginTime garis waktu menentukan awal periode aktif garis waktu. Jika garis waktu memiliki garis waktu induk, properti BeginTime menentukan berapa lama waktu yang dibutuhkan garis waktu untuk memulai setelah induknya dimulai. Jika garis waktu adalah garis waktu akar (Storyboard, misalnya), properti BeginTime menentukan berapa lama waktu yang dibutuhkan untuk mulai diputar setelah dipicu.

Contoh berikut menunjukkan beberapa garis waktu yang berbeda dengan pengaturan BeginTime yang berbeda.

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

Keterangan

Properti BeginTime berguna untuk membuat garis waktu yang dimainkan secara berurutan: dengan meningkatkan BeginTime garis waktu berturut-turut yang berbagi induk yang sama, Anda dapat mengejutkan waktu bermain mereka.

Nilai Negatif

Nilai BeginTime negatif menyebabkan Timeline berulah seolah-olah dimulai pada beberapa waktu lalu. Misalnya, Timeline dengan BeginTime negatif 2,5 detik dan Duration 5 detik akan tampak setengah arah selesai ketika dimulai.

BeginTime dan SpeedRatio

Waktu yang dijelaskan oleh properti BeginTime diukur dalam waktu induk garis waktu. Misalnya, garis waktu dengan BeginTime 5 yang induknya memiliki SpeedRatio 2 benar-benar dimulai setelah 2,5 detik.

Pengaturan SpeedRatio garis waktu sendiri tidak memengaruhi BeginTime. Misalnya, garis waktu dengan BeginTime 5 detik, SpeedRatio 2, dan garis waktu induk dengan SpeedRatio 1 dimulai setelah 5 detik, bukan 2,5.

Informasi Properti Dependensi

Bidang pengidentifikasi BeginTimeProperty
Properti metadata diatur ke true Tidak

Penggunaan Atribut XAML

< BeginTimeobjek ="[-][hari.]jam:menit:detik[.fractionalSeconds]"/>

-atau-

< objekBeginTime="[-][hari.]jam:menit"/>

-atau-

< objekBeginTime="[-]hari"/>

-atau-

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

Nilai XAML

Item dalam tanda kurung siku ([ dan ]) bersifat opsional.

hari
System.Int32

Nilai yang lebih besar dari atau sama dengan 0 yang menjelaskan jumlah hari yang terbenam pada waktu mulai ini.

jam
System.Int32

Nilai antara 0 dan 23 yang menunjukkan jumlah jam yang terbentang pada waktu mulai ini.

menit
System.Int32

Nilai antara 0 dan 59 yang menunjukkan jumlah menit yang terbentang pada waktu mulai ini.

detik
System.Int32

Nilai antara 0 dan 59 yang menunjukkan jumlah detik yang terbentang pada waktu mulai ini.

fractionalSeconds
System.Int32

Nilai yang terdiri dari 1 hingga 7 digit yang mewakili detik pecahan.

Untuk sintaks TimeSpan lengkap, lihat bagian Keterangan dari halaman Parse.

Berlaku untuk

Lihat juga