MatrixAnimationUsingPath.IsAngleCumulative Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de draaihoek van de geanimeerde matrix zich moet verzamelen over herhalingen.
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
Waarde van eigenschap
true als de draaihoek van de animatie zich moet verzamelen over herhalingen; anders, false. De standaardwaarde is false.
Voorbeelden
In het volgende voorbeeld worden twee vergelijkbare MatrixAnimationUsingPath animaties gebruikt om dezelfde rechthoek te animeren. Beide animaties hebben dezelfde PathGeometry instelling, waardoor de rechthoek wordt gedraaid terwijl het langs het scherm naar rechts wordt verplaatst en beide animaties vier keer worden herhaald. De eigenschap van IsAngleCumulative de eerste animatie is ingesteld op false, dus de rechthoek springt terug naar de oorspronkelijke hoek wanneer de animatie wordt herhaald. De eigenschap van IsAngleCumulative de tweede animatie is ingesteld op true; als gevolg hiervan lijkt de rechthoek groter te worden wanneer de animatie wordt herhaald, in plaats van terug te springen naar de oorspronkelijke waarde.
<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>
Opmerkingen
Als deze eigenschap is ingesteld op true, wordt de draaihoek van de matrix met animaties samengevoegd terwijl de animatie wordt herhaald. Als uw pad een kleine boog is, zorgt een cumulatieve hoek ervoor dat uw object continu wordt gedraaid met elke herhaling in plaats van de rotatie opnieuw te starten. In combinatie met een IsOffsetCumulative van truelijkt het alsof uw object afzakt terwijl het stuitert (afhankelijk van het pad dat u opgeeft). Zie voor verwante informatie IsOffsetCumulative.
Het instellen van deze eigenschap heeft geen effect als DoesRotateWithTangent dit is false.
Met deze eigenschap wordt bepaald of de hoek van de animatiematrix zich opstapelt wanneer de animatie wordt herhaald vanwege RepeatBehavior de instelling. De verschuiving wordt niet veroorzaakt wanneer de animatie opnieuw wordt gestart. Zie voor meer informatie over het maken van een animatie op basis van de waarden IsAdditivevan een vorige animatie.
Informatie over afhankelijkheidseigenschappen
| Item | Waarde |
|---|---|
| Id-veld | IsAngleCumulativeProperty |
Eigenschappen van metagegevens ingesteld op true |
Geen |