MatrixAnimationUsingPath.IsAngleCumulative Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om rotationsvinkeln för den animerade matrisen ska ackumuleras över upprepningar.
public:
property bool IsAngleCumulative { bool get(); void set(bool value); };
public bool IsAngleCumulative { get; set; }
member this.IsAngleCumulative : bool with get, set
Public Property IsAngleCumulative As Boolean
Egenskapsvärde
trueom animeringens rotationsvinkel ska ackumuleras över upprepningar; annars . false Standardvärdet är false.
Exempel
I följande exempel används två liknande MatrixAnimationUsingPath animeringar för att animera samma rektangel. Båda animeringarna har samma PathGeometry inställning, vilket gör att rektangeln roteras när den flyttas längs skärmen till höger, och båda animeringarna är inställda på att upprepas fyra gånger. Den första animeringens IsAngleCumulative egenskap är inställd på false, så rektangeln hoppar tillbaka till sin ursprungliga vinkel när animeringen upprepas. Den andra animeringens IsAngleCumulative egenskap är inställd på true; därför verkar rektangelns vinkel öka när animeringen upprepas, i stället för att hoppa tillbaka till dess ursprungliga värde.
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<StackPanel Margin="50">
<!-- The Rectangle that is animated across the screen by animating
the MatrixTransform applied to the button. -->
<Rectangle
Width="75" Height="25"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Stroke="Black" StrokeThickness="1">
<Rectangle.RenderTransform>
<MatrixTransform x:Name="myMatrixTransform">
<MatrixTransform.Matrix >
<Matrix OffsetX="10" OffsetY="100"/>
</MatrixTransform.Matrix>
</MatrixTransform>
</Rectangle.RenderTransform>
<Rectangle.Fill>
<LinearGradientBrush>
<GradientStop Color="Lime" Offset="0.0" />
<GradientStop Color="Gray" Offset="1.0" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<!-- Shows the animation path. -->
<Path
Stroke="Black" StrokeThickness="5"
Data="M 0,0 A 50,50 0 1 0 100,0" />
<StackPanel Margin="0,200,0,0" Orientation="Horizontal">
<Button Content="Animate with IsAngleCumulative set to False"
HorizontalAlignment="Left" Padding="5">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<!-- The angle generated by this animation does not
accumulate over repetitions. As a result,
the rectangle appears to jump back to its
starting angle when the animation repeats. -->
<MatrixAnimationUsingPath
Storyboard.TargetName="myMatrixTransform"
Storyboard.TargetProperty="Matrix"
Duration="0:0:2"
RepeatBehavior="4x"
IsOffsetCumulative="True"
IsAngleCumulative="False"
DoesRotateWithTangent="True">
<MatrixAnimationUsingPath.PathGeometry>
<PathGeometry Figures="M 0,0 A 50,50 0 1 0 100,0" />
</MatrixAnimationUsingPath.PathGeometry>
</MatrixAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<Button Content="Animate with IsAngleCumulative set to True"
HorizontalAlignment="Left"
Padding="5">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<!-- The angle generated by this animation accumulates
over repetitions. As a result, the rectangle's
rotation appears seamless. -->
<MatrixAnimationUsingPath
Storyboard.TargetName="myMatrixTransform"
Storyboard.TargetProperty="Matrix"
Duration="0:0:2"
RepeatBehavior="4x"
IsOffsetCumulative="True"
IsAngleCumulative="True"
DoesRotateWithTangent="True">
<MatrixAnimationUsingPath.PathGeometry>
<PathGeometry Figures="M 0,0 A 50,50 0 1 0 100,0" />
</MatrixAnimationUsingPath.PathGeometry>
</MatrixAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
</StackPanel>
</StackPanel>
</Page>
Kommentarer
Om den här egenskapen är inställd truepå ackumuleras rotationsvinkeln för den animerade matrisen när animeringen upprepas. Om din sökväg är en liten båge får en kumulativ vinkel objektet att rotera kontinuerligt med varje upprepning i stället för att starta om rotationen. När det kombineras med en IsOffsetCumulative av truekan objektet verka tumla medan det studsar (beroende på vilken sökväg du anger). Relaterad information finns i IsOffsetCumulative.
Inställningen av den här egenskapen har ingen effekt om DoesRotateWithTangent är false.
Den här egenskapen avgör om animeringsmatrisens vinkel ackumuleras när animeringen upprepas på grund av dess RepeatBehavior inställning. Det gör inte att förskjutningen ackumuleras när animeringen startas om. Information om hur du skapar en animering för en tidigare animerings värden finns i IsAdditive.
Information om beroendeegenskap
| Objekt | Value |
|---|---|
| Identifierarfält | IsAngleCumulativeProperty |
Metadataegenskaper inställda på true |
Ingen |