Timeline.BeginTime Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 null
sein; 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.