Freigeben über


Timeline.BeginTime Eigenschaft

Definition

Dient zum Abrufen oder Festlegen der Uhrzeit, zu der dies 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 dies Timeline beginnen soll, relativ zu den übergeordneten BeginTimeElementen. Wenn es sich bei dieser Zeitachse um eine Stammzeitachse handelt, ist die Zeit relativ zu ihrer interaktiven Anfangszeit (dem Moment, zu dem die Zeitachse ausgelöst wurde). Dieser Wert kann positiv, negativ oder null; ein null Wert bedeutet, dass die Zeitachse nie wiedergegeben wird. Der Standardwert ist Null.

Beispiele

Die Eigenschaft einer Zeitachse BeginTime bestimmt den Anfang 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 Elements beginnt. Wenn es sich bei der Zeitachse um eine Stammzeitachse (z. B. ein StoryboardBeispiel) handelt, bestimmt die BeginTime Eigenschaft, wie lange die Zeitachse dauert, um nach dem Auslösen der Wiedergabe zu beginnen.

Das folgende Beispiel zeigt mehrere verschiedene 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 zum Erstellen von Zeitachsen, die in einer Sequenz wiedergegeben werden: Indem Sie die aufeinanderfolgenden Zeitachsen erhöhen, die dasselbe übergeordnete Element aufweisen, können Sie die BeginTime Spielzeiten aufteilen.

Negative Werte

Ein negativer BeginTime Wert bewirkt, dass sich ein Timeline Verhalten verhält, als ob er zu einem bestimmten Zeitpunkt in der Vergangenheit gestartet wurde. Beispielsweise wird eine Timeline Mit einer BeginTime negativen 2,5 Sekunden und eine Duration von 5 Sekunden scheinbar halbwegs fertig gestellt, wenn sie beginnt.

BeginTime und SpeedRatio

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

Die eigene SpeedRatio Einstellung einer Zeitachse wirkt sich nicht auf ihre BeginTimeEinstellung aus. 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 und nicht nach 2,5 Sekunden.

Informationen zur Abhängigkeitseigenschaft

Element Wert
Bezeichnerfeld BeginTimeProperty
Auf Metadateneigenschaften festgelegt true Nichts

XAML-Attributverwendung

< ObjektBeginTime="%[Tage.]stunden:minutes:seconds[.fractionalSeconds]"/>

-oder-

< ObjektBeginTime="%[Tage.]Stunden:Minuten"/>

-oder-

< ObjektBeginTime="%days"/>

-oder-

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

XAML-Werte

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

TageSystem.Int32

Ein Wert größer oder gleich 0, der die Anzahl der Tage beschreibt, die bis zu dieser Anfangszeit gespannt sind.

StundenSystem.Int32

Ein Wert zwischen 0 und 23, der die Anzahl der Stunden darstellt, die mit dieser Anfangszeit gespannt sind.

MinutenSystem.Int32

Ein Wert zwischen 0 und 59, der die Anzahl der Minuten darstellt, die bis zu dieser Anfangszeit gespannt sind.

NachschlagSystem.Int32

Ein Wert zwischen 0 und 59, der die Anzahl der Sekunden darstellt, die von dieser Anfangszeit überspannt sind.

fractionalSecondsSystem.Int32

Ein Wert, der aus 1 bis 7 Ziffern besteht, die Bruchzahlen darstellen.

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

Gilt für:

Weitere Informationen