MatrixAnimationUsingPath.IsAngleCumulative Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menentukan apakah sudut rotasi matriks animasi harus terakumulasi melalui pengulangan.
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
Nilai Properti
true jika sudut rotasi animasi harus terakumulasi melalui pengulangan; jika tidak, false. Defaultnya adalah false.
Contoh
Contoh berikut menggunakan dua animasi serupa MatrixAnimationUsingPath untuk menganimasikan persegi panjang yang sama. Kedua animasi memiliki pengaturan yang sama PathGeometry , yang menyebabkan persegi panjang diputar saat bergerak di sepanjang layar ke kanan, dan kedua animasi diatur untuk diulang empat kali. Properti animasi IsAngleCumulative pertama diatur ke false, sehingga persegi melompat kembali ke sudut aslinya ketika animasi berulang. Properti animasi IsAngleCumulative kedua diatur ke true; akibatnya, sudut persegi panjang tampaknya meningkat ketika animasi berulang, daripada melompat kembali ke nilai aslinya.
<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>
Keterangan
Jika properti ini diatur ke true, sudut rotasi matriks animasi akan terakumulasi saat animasi berulang. Jika jalur Anda adalah busur kecil, sudut kumulatif akan menyebabkan objek Anda terus berputar dengan setiap pengulangan alih-alih memulai ulang rotasi. Ketika dikombinasikan dengan IsOffsetCumulative , trueobjek Anda mungkin tampak terjatuh saat memantul (tergantung pada jalur yang Anda tentukan). Untuk informasi terkait, lihat IsOffsetCumulative.
Pengaturan properti ini tidak berpengaruh jika DoesRotateWithTangent adalah false.
Properti ini menentukan apakah sudut matriks animasi terakumulasi ketika animasi berulang karena pengaturannya RepeatBehavior ; itu tidak menyebabkan offset terakumulasi ketika animasi dimulai ulang. Untuk informasi tentang cara membuat build animasi dari nilai animasi sebelumnya, lihat IsAdditive.
Informasi Properti Dependensi
| Item | Nilai |
|---|---|
| Bidang pengidentifikasi | IsAngleCumulativeProperty |
Properti metadata diatur ke true |
Tidak |