Freigeben über


Timeline.BeginTime Eigenschaft

Definition

Dient zum Abrufen oder Festlegen der Uhrzeit, zu der dieses 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 Zeit, zu der dieses Timeline beginnen soll, relativ zur BeginTimedes übergeordneten Elements. 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 nullsein; ein null Wert bedeutet, dass die Zeitachse nie wiedergegeben wird. Der Standardwert ist Null.

Beispiele

Die BeginTime-Eigenschaft einer Zeitachse 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. eine Storyboard) handelt, bestimmt die BeginTime-Eigenschaft, wie lange die Zeitachse dauert, um nach dem Auslösen der Wiedergabe zu beginnen.

Das folgende Beispiel zeigt 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, um Zeitachsen zu erstellen, die in einer Sequenz wiedergegeben werden: Indem Sie die BeginTime aufeinander folgender Zeitachsen erhöhen, die dasselbe übergeordnete Element aufweisen, können Sie die Spielzeiten aufteilen.

Negative Werte

Ein negativer BeginTime Wert bewirkt, dass sich ein Timeline so verhält, als ob er zu einem bestimmten Zeitpunkt in der Vergangenheit begonnen hat. Eine Timeline mit einer BeginTime negativer 2,5 Sekunden und einer Duration von 5 Sekunden scheint z. B. halbwegs fertig zu sein, wenn sie gestartet wird.

BeginTime und SpeedRatio

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

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

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld BeginTimeProperty
Auf true festgelegte Metadateneigenschaften Nichts

XAML-Attributverwendung

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

-oder-

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

-oder-

< ObjektBeginTime="Tage"/>

-oder-

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

XAML-Werte

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

Tage
System.Int32

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

Stunden
System.Int32

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

Minuten
System.Int32

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

Sekunden
System.Int32

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

Bruchteilsekunden
System.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