Timeline.BeginTime Eigenschaft

Definition

Ruft die Uhrzeit ab oder legt sie fest, bei der diese Timeline beginnen soll.

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)

Eigenschaftswert

Die Uhrzeit, zu der diese Timeline beginnen soll, relativ zu ihrer übergeordneten BeginTime. Wenn diese Zeitachse eine Stammzeitachse ist, ist die Uhrzeit relativ zu ihrer interaktiven Anfangszeit (dem Zeitpunkt, an dem die Zeitachse ausgelöst wurde). Der Wert kann positiv, negativ oder null sein. Der Wert null bedeutet, dass die Zeitachse nie wiedergegeben wird. Der Standardwert ist 0 (null).

Beispiele

Die BeginTime Eigenschaft einer Zeitachse bestimmt den Beginn des aktiven Zeitraums einer Zeitachse. Wenn die Zeitachse über eine übergeordnete Zeitachse verfügt, bestimmt die BeginTime -Eigenschaft, wie lange die Zeitachse nach dem Start des übergeordneten Zeitachsens benötigt wird. Wenn es sich bei der Zeitachse um eine Stammzeitachse handelt (z. B. eine Storyboard), bestimmt die BeginTime -Eigenschaft, wie lange die Zeitachse dauert, bis die Wiedergabe nach dem Auslösen beginnt.

Das folgende Beispiel zeigt mehrere unterschiedliche Zeitachsen mit unterschiedlichen BeginTime Einstellungen.

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

Hinweise

Die BeginTime Eigenschaft ist nützlich, um Zeitachsen zu erstellen, die in einer Sequenz wiedergegeben werden: Durch Erhöhen der BeginTime Anzahl von aufeinander folgenden Zeitachsen, die dasselbe übergeordnete Element verwenden, können Sie deren Wiedergabezeiten staffeln.

Negative Werte

Ein negativer BeginTime Wert bewirkt, dass sich ein Timeline verhält, als ob er zu einem bestimmten Zeitpunkt in der Vergangenheit begonnen habe. Beispielsweise scheint ein Timeline mit einem BeginTime von negativen 2,5 Sekunden und einem Duration von 5 Sekunden beim Start halb fertig zu sein.

BeginTime und SpeedRatio

Die von der BeginTime -Eigenschaft beschriebene Zeit wird in der Zeit der übergeordneten Zeitachse gemessen. Beispielsweise beginnt eine Zeitachse mit einer BeginTime von 5, deren übergeordnetes Element eine SpeedRatio von 2 hat, tatsächlich nach 2,5 Sekunden.

Die eigene SpeedRatio Einstellung einer Zeitachse wirkt sich nicht auf ihre BeginTimeaus. Beispielsweise beginnt eine Zeitachse mit einer BeginTime von 5 Sekunden, einer SpeedRatio von 2 und einer übergeordneten Zeitachse mit einer SpeedRatio von 1 nach 5 Sekunden, nicht nach 2,5.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld BeginTimeProperty
Metadateneigenschaften auf true festgelegt Keine

Verwendung von XAML-Attributen

<ObjektBeginTime ="[-][Tage.] Stunden:Minuten:Sekunden[. fractionalSeconds]"/>

Oder

<ObjektBeginTime ="[-][Tage.] stunden:minuten"/>

Oder

<ObjektBeginTime ="[-]days"/>

Oder

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

XAML-Werte

Elemente in eckigen Klammern ([ und ]) sind optional.

days
System.Int32

Ein Wert größer oder gleich 0, der die Anzahl der Tage beschreibt, die von dieser Startzeit überspannt werden.

hours
System.Int32

Ein Wert zwischen 0 und 23, der die Anzahl der Stunden darstellt, die von dieser Startzeit überspannt werden.

minutes
System.Int32

Ein Wert zwischen 0 und 59, der die Anzahl der Minuten darstellt, die von dieser Startzeit überspannt werden.

Sekunden
System.Int32

Ein Wert zwischen 0 und 59, der die Anzahl der Sekunden darstellt, die sich über diese Startzeit erstrecken.

fractionalSeconds
System.Int32

Ein Wert aus 1 bis 7 Ziffern, der Bruchsekunden darstellt.

Die vollständige TimeSpan Syntax finden Sie im Abschnitt Hinweise der Parse Seite.

Gilt für:

Weitere Informationen