SplinePointKeyFrame Kelas

Definisi

Menganimasikan dari nilai Titik dari bingkai kunci sebelumnya ke Nilainya sendiri menggunakan interpolasi yang di-splin.

public ref class SplinePointKeyFrame sealed : PointKeyFrame
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SplinePointKeyFrame final : PointKeyFrame
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class SplinePointKeyFrame final : PointKeyFrame
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SplinePointKeyFrame : PointKeyFrame
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class SplinePointKeyFrame : PointKeyFrame
Public NotInheritable Class SplinePointKeyFrame
Inherits PointKeyFrame
<SplinePointKeyFrame .../>
Warisan
Object Platform::Object IInspectable DependencyObject PointKeyFrame SplinePointKeyFrame
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Contoh XAML ini memindahkan elips di sepanjang jalur segitiga. Contohnya menggunakan kelas PointAnimationUsingKeyFrames untuk menganimasikan properti Center dari EllipseGeometry. Animasi ini menggunakan tiga bingkai kunci dengan cara berikut:

  1. Selama paruh kedua pertama, ia menggunakan instans kelas LinearPointKeyFrame untuk memindahkan elips di sepanjang jalur pada laju stabil dari posisi awalnya. Bingkai kunci linier seperti LinearPointKeyFrame membuat interpolasi linier yang halus antar nilai.
  2. Selama akhir paruh detik berikutnya, ia menggunakan instans kelas DiscretePointKeyFrame untuk tiba-tiba memindahkan elips di sepanjang jalur ke posisi berikutnya. Bingkai kunci diskrit seperti DiscretePointKeyFrame membuat lompatan mendadak di antara nilai.
  3. Selama dua detik terakhir, ia menggunakan instans kelas SplinePointKeyFrame untuk memindahkan elips kembali ke posisi awalnya. Bingkai kunci spline seperti SplinePointKeyFrame membuat transisi variabel antar nilai sesuai dengan nilai properti KeySpline . Dalam contoh ini, animasi dimulai secara perlahan dan mempercepat secara eksponensial menjelang akhir segmen waktu.
<Canvas Width="400" Height="300">
    <Canvas.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animating the Center property uses 3 KeyFrames, which animate
             the ellipse allong a triangular path. -->
            <PointAnimationUsingKeyFrames
          Storyboard.TargetProperty="Center"
          Storyboard.TargetName="MyAnimatedEllipseGeometry"
          Duration="0:0:5" RepeatBehavior="Forever" EnableDependentAnimation="True">

                <!-- Over the first half second, Using a LinearPointKeyFrame, the ellipse 
               moves steadily from its starting position along the first line of the 
               trianglar path.  -->
                <LinearPointKeyFrame KeyTime="0:0:0.5" Value="100,300" />

                <!-- Using a DiscretePointKeyFrame, the ellipse suddenly changes position
               after the first second of the animation. -->
                <DiscretePointKeyFrame KeyTime="0:0:1" Value="400,300" />

                <!-- Using a SplinePointKeyFrame, the ellipse moves back to its starting
               position. It moves slowly at first and then speeds up. This key frame 
               takes 2 seconds to complete. -->
                <SplinePointKeyFrame KeySpline="0.6,0.0 0.9,0.00" 
                 KeyTime="0:0:3" Value="200,100" />
            </PointAnimationUsingKeyFrames>
        </Storyboard>
    </Canvas.Resources>
    <Path Fill="Blue" Loaded="Start_Animation">
        <Path.Data>

            <!-- Describes an ellipse. -->
            <EllipseGeometry x:Name="MyAnimatedEllipseGeometry"
             Center="200,100" RadiusX="15" RadiusY="15" />
        </Path.Data>
    </Path>
</Canvas>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
    myStoryboard.Begin()
End Sub

Keterangan

Animasi bingkai kunci mengizinkan lebih dari satu nilai target yang tercapai pada titik di sepanjang garis waktu animasi. Dengan kata lain, setiap bingkai kunci dapat menentukan nilai perantara yang berbeda, dan bingkai kunci terakhir yang dicapai adalah nilai animasi akhir. Dengan menentukan beberapa nilai untuk dianimasikan, Anda dapat membuat animasi yang lebih kompleks. Anda dapat mencampur keyframe diskret, linier, dan spline dalam koleksi keyframe yang sama.

Untuk informasi selengkapnya tentang cara menggunakan animasi bingkai kunci, lihat Animasi bingkai kunci dan meringankan animasi fungsi.

Konstruktor

SplinePointKeyFrame()

Menginisialisasi instans baru kelas SplinePointKeyFrame .

Properti

Dispatcher

Mendapatkan CoreDispatcher yang dikaitkan dengan objek ini. CoreDispatcher mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI bahkan jika kode dimulai oleh utas non-UI.

(Diperoleh dari DependencyObject)
KeySpline

Mendapatkan atau mengatur dua titik kontrol yang menentukan kemajuan animasi untuk bingkai kunci ini.

KeySplineProperty

Mengidentifikasi properti dependensi KeySpline .

KeyTime

Mendapatkan atau mengatur waktu di mana Nilai target bingkai kunci harus dicapai.

(Diperoleh dari PointKeyFrame)
Value

Mendapatkan atau mengatur nilai target bingkai kunci.

(Diperoleh dari PointKeyFrame)

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif.

(Diperoleh dari DependencyObject)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan.

(Diperoleh dari DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Berlaku untuk

Lihat juga