Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En Timeline representerar ett tidssegment och längden på segmentet bestäms av tidslinjens Duration. När en Timeline når slutet av sin tidslängd, slutar den att spela. Om Timeline har underordnade tidslinjer upphör de också med att spela. När det gäller en animering anger Duration hur lång tid animeringen tar att övergå från startvärdet till dess slutvärde.
Du kan ange en Duration med en specifik, begränsad tid eller specialvärdena Automatic eller Forever. En animerings varaktighet måste alltid vara ett tidsvärde, eftersom en animering alltid måste ha en definierad, begränsad längd, annars skulle animeringen inte veta hur den skulle övergå mellan sina målvärden. Tidslinjer för containrar (TimelineGroup objekt), till exempel Storyboard och ParallelTimeline, har en standardvaraktighet på Automatic, vilket innebär att de slutar automatiskt när deras sista barn slutar spela.
I följande exempel är bredd, höjd och fyllningsfärg för en Rectangle animerad. Varaktigheter anges på animerings- och containertidslinjen, vilket resulterar i animeringseffekter, inklusive att styra den upplevda hastigheten för en animering och åsidosätta varaktigheten för underordnade tidslinjer med varaktigheten för en containertidslinje.
Exempel
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Margin="20">
<Rectangle Width="100" Height="100" Name="myRectangle">
<Rectangle.Fill>
<SolidColorBrush x:Name="MyAnimatedBrush" Color="Black" />
</Rectangle.Fill>
<Rectangle.Triggers>
<!-- Animates the rectangle fill to yellow and width to 300. -->
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard>
<!-- By default, TimelineGroup objects like Storyboard and ParallelTimeline have
a Duration of "Automatic". A TimelineGroup's automatic duration encompasses its
last-ending child. In this example, there is only one child of the Storyboard, the
ParallelTimeline, so when the ParallelTimeline ends, the Storyboard duration will
automatically end. -->
<Storyboard>
<!-- This ParallelTimeline has overriden its default duration of "Automatic" with
a finite duration of half a second. This will force this Timeline to end after half a
second even though its child Timelines have a longer duration (2 and 4 seconds respectively).
This cuts off the animation prematurely and the rectangle's fill will not go all the way to
yellow nor will the rectangle width get all the way to 300. Again, the default duration of a
ParallelTimeline is "Automatic" so if you remove the finite duration, the ParallelTimeline
will wait for its child timelines to end before it ends. -->
<!-- Note: To specify a finite time in XAML, use the syntax of "days:hours:seconds". As mentioned,
this ParallelTimeline has a duration of half a second. -->
<ParallelTimeline Duration="0:0:0.5">
<!-- For Animation Timelines like DoubleAnimation, the duration is one factor that
determines the rate at which an animation appears to progress. For example, the DoubleAnimation
below that animates the rectangle height will complete in only one second while the animation
that animates the width willwill complete in 2 seconds which is relatively fast compared to the DoubleAnimation
which animates the rectangle width over 4 seconds. -->
<DoubleAnimation
Storyboard.TargetName="myRectangle"
Storyboard.TargetProperty="Height"
To="300" Duration="0:0:1" />
<DoubleAnimation
Storyboard.TargetName="myRectangle"
Storyboard.TargetProperty="Width"
To="300" Duration="0:0:4" />
<ColorAnimation
Storyboard.TargetName="MyAnimatedBrush"
Storyboard.TargetProperty="Color"
To="Yellow" Duration="0:0:2" />
</ParallelTimeline>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
</StackPanel>
</Page>
Se även
.NET Desktop feedback