共用方式為


Timeline.BeginTime 屬性

定義

取得或設定這個 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)

屬性值

這個 Timeline 應該開始的時間,相對於其父系的 BeginTime。 如果此時間軸是根時程表,時間會相對於其互動式開始時間(觸發時間軸的時刻)。 此值可以是正數、負數或 null;null 值表示時間軸永遠不會播放。 預設值為零。

範例

時間軸的 BeginTime 屬性會決定時間軸使用中週期的開頭。 如果時間軸有父時程表,BeginTime 屬性會決定時間軸在父系啟動後所花費的時間長度。 如果時程表是根時間軸(例如 Storyboard),則 BeginTime 屬性會決定時間軸在觸發後開始播放所花費的時間長度。

下列範例顯示具有不同 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>

備註

BeginTime 屬性有助於建立依序播放的時程表:藉由增加共用相同父系的連續時間軸 BeginTime,您可以交錯播放時間。

負值

BeginTime 值會導致 Timeline 的行為如同過去某個時間開始一樣。 例如,Timeline 的負 2.5 秒 BeginTime,而 5 秒的 Duration 在啟動時似乎已完成半程。

BeginTime 和 SpeedRatio

BeginTime 屬性所描述的時間會以時間軸的父代時間來測量。 例如,具有 5 個 BeginTime 的時程表,其父系的 SpeedRatio 實際上會在 2.5 秒後開始。

時間軸本身的 SpeedRatio 設定不會影響其 BeginTime。 例如,時間軸的 BeginTime 為 5 秒、SpeedRatio 為 2,而父時間軸的 SpeedRatio 會在 5 秒後開始,而不是 2.5。

相依性屬性資訊

標識元欄位 BeginTimeProperty
設定為 true 的元數據屬性 沒有

XAML 屬性使用方式

< 物件BeginTime=“[-][.]小時分鐘[.fractionalSeconds]”/>

-或-

< 物件BeginTime=“[-][.]小時分鐘”/>

-或-

< 物件BeginTime=“[-]”/>

-或-

< 物件BeginTime=“{x:Null 標記延伸}”/>

XAML 值

方括弧中的專案([])是選擇性專案。


System.Int32

大於或等於 0 的值,描述此開始時間所跨越的天數。

小時
System.Int32

介於 0 到 23 之間的值,表示此開始時間所跨越的時數。

分鐘
System.Int32

介於 0 到 59 之間的值,表示此開始時間所跨越的分鐘數。


System.Int32

介於 0 到 59 之間的值,表示此開始時間所跨越的秒數。

fractionalSeconds
System.Int32

值,包含代表小數秒的 1 到 7 位數。

如需完整的 TimeSpan 語法,請參閱 Parse 頁面的一節。

適用於

另請參閱