Anteckning
Å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.
Det här exemplet visar hur du anger FillBehavior för den inaktiva Timeline för en animerad egenskap.
Exempel
Egenskapen FillBehavior för en Timeline avgör vad som händer med värdet för en animerad egenskap när den inte animeras, det vill säga när Timeline är inaktiv men dess överordnade Timeline är inom dess aktiva eller hållperiod. Finns till exempel en animerad egenskap kvar vid dess slutvärde när animeringen har upphört eller återgår den till det värde den hade innan animeringen startade?
I följande exempel används en DoubleAnimation för att animera Width hos två rektanglar. Varje rektangel använder ett annat Timeline objekt.
En Timeline har en FillBehavior som är inställd på Stop, vilket gör att rektangelns bredd återställs till sitt icke-animerade värde när Timeline slutar. Den andra Timeline har en FillBehavior av HoldEnd, vilket gör att bredden förblir på sitt slutvärde när Timeline slutar.
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<StackPanel Margin="20">
<Border Background="#99FFFFFF">
<TextBlock Margin="20">
This example shows how the FillBehavior property determines how an animation behaves
after it reaches the end of its duration.
</TextBlock>
</Border>
<TextBlock>FillBehavior="Deactivate"</TextBlock>
<Rectangle Name="deactiveAnimationRectangle" Width="20" Height="20" Fill="#AA3333FF" HorizontalAlignment="Left" >
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard>
<Storyboard>
<!-- The animated rectangle's width reverts back to its non-animated value
after the animation ends. -->
<DoubleAnimation
Storyboard.TargetName="deactiveAnimationRectangle"
Storyboard.TargetProperty="Width"
From="100" To="400" Duration="0:0:2" FillBehavior="Stop" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
<TextBlock Margin="0,20,0,0">FillBehavior="HoldEnd" </TextBlock>
<Rectangle Name="holdEndAnimationRectangle" Width="20" Height="20" Fill="#AA3333FF" HorizontalAlignment="Left" >
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard>
<Storyboard>
<!-- The animated rectangle's width remains at its end value after the
animation ends. -->
<DoubleAnimation Storyboard.TargetName="holdEndAnimationRectangle"
Storyboard.TargetProperty="Width"
From="100" To="400" Duration="0:0:2" FillBehavior="HoldEnd" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
</StackPanel>
</Page>
Det fullständiga exemplet finns i Exempelgalleri för animering.
Se även
.NET Desktop feedback