MatrixAnimationUsingPath.IsAngleCumulative MatrixAnimationUsingPath.IsAngleCumulative MatrixAnimationUsingPath.IsAngleCumulative MatrixAnimationUsingPath.IsAngleCumulative Property

Definition

Ruft einen Wert ab oder legt diesen fest, der angibt, ob der Drehungswinkel der animierten Matrix bei Wiederholungen kumuliert werden sollte.Gets or sets a value that specifies whether the rotation angle of the animated matrix should accumulate over repetitions.

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

Eigenschaftswert

true, wenn der Drehungswinkel der Animation bei Wiederholungen kumuliert werden soll, andernfalls false.true if the animation's rotation angle should accumulate over repetitions; otherwise, false. Die Standardeinstellung ist false.The default is false.

Beispiele

Im folgenden Beispiel werden zwei ähnliche MatrixAnimationUsingPath Animationen zum Animieren desselben Rechtecks verwendet.The following example uses two similar MatrixAnimationUsingPath animations to animate the same rectangle. Beide Animationen haben dieselbe PathGeometry Einstellung, die bewirkt, dass das Rechteck bei der Verschiebung auf dem Bildschirm nach rechts gedreht wird. beide Animationen sind so festgelegt, dass Sie viermal wiederholt werden.Both animations have the same PathGeometry setting, which causes the rectangle to rotate as it moves along the screen to the right, and both animations are set to repeat four times. Die- IsAngleCumulative Eigenschaft der ersten Animation wird auf falsefestgelegt, sodass das Rechteck wieder in den ursprünglichen Winkel springt, wenn die Animation wiederholt wird.The first animation's IsAngleCumulative property is set to false, so the rectangle jumps back to its original angle when the animation repeats. Die- IsAngleCumulative Eigenschaft der zweiten Animation wird auf truefestgelegt. Folglich wird der Rechteck Winkel bei Wiederholung der Animation vergrößert, anstatt zum ursprünglichen Wert zurückzukehren.The second animation's IsAngleCumulative property is set to true; as a result, the rectangle angle appears to increase when the animation repeats, rather than jumping back to its original value.

<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>

Hinweise

Wenn diese Eigenschaft auf truefestgelegt ist, wird der Drehungs Winkel der animierten Matrix bei Wiederholung der Animation akkumuliert.If this property is set to true, the rotation angle of the animated matrix will accumulate as the animation repeats. Wenn es sich bei dem Pfad um einen kleinen Bogen handelt, bewirkt ein kumulativer Winkel, dass das Objekt bei jeder Wiederholung fortlaufend gedreht wird, anstatt die Drehung neu zu starten.If your path is a small arc, a cumulative angle will cause your object to continuously rotate with each repeat instead of restarting the rotation. Wenn Sie mit einem IsOffsetCumulative von truekombiniert werden, scheint sich das-Objekt zu tummeln, während es springt (abhängig vom angegebenen Pfad).When combined with an IsOffsetCumulative of true, your object might appear to tumble while it bounces (depending on the path you specify). Verwandte Informationen finden Sie unter IsOffsetCumulative.For related information, see IsOffsetCumulative.

Das Festlegen dieser Eigenschaft hat keine Auswirkung DoesRotateWithTangent , falsewenn ist.Setting this property has no effect if DoesRotateWithTangent is false.

Diese Eigenschaft bestimmt, ob der Winkel der Animations Matrix akkumuliert wird, wenn die Animation RepeatBehavior aufgrund der-Einstellung wiederholt wird. der Offset wird nicht ausgelöst, wenn die Animation neu gestartet wird.This property determines whether the animation matrix's angle accumulates when the animation repeats because of its RepeatBehavior setting; it does not cause the offset to accumulate when the animation is restarted. Informationen dazu, wie Sie eine Animation aus den Werten einer vorherigen Animation erstellen, finden IsAdditiveSie unter.For information on how to make an animation build off a previous animation's values, see IsAdditive.

Informationen zur AbhängigkeitseigenschaftDependency Property Information

BezeichnerfeldIdentifier field IsAngleCumulativeProperty
Metadateneigenschaften auf true festgelegtMetadata properties set to true KeineNone

Gilt für:

Siehe auch