Bagikan melalui


ElasticEase Kelas

Definisi

Mewakili fungsi meringankan yang menciptakan animasi yang menyerupan musim semi berosilasi bolak-balik hingga istirahat.

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

Contoh

Contoh XAML ini menerapkan fungsi pelunasan ElasticEase ke DoubleAnimation untuk membuat animasi yang menyerupai spring berosilasi bolak-balik hingga berhenti.

<StackPanel x:Name="LayoutRoot" >
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
            <DoubleAnimation From="1" To="6" Duration="00:00:3" 
                Storyboard.TargetName="rectScaleTransform" 
                Storyboard.TargetProperty="ScaleY">
                <DoubleAnimation.EasingFunction>
                    
                    <!-- Elastic easing function assigned to From/To animation -->
                    <ElasticEase x:Name="myElasticEase" Oscillations="3" 
                     Springiness="1" EasingMode="EaseOut"/>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>
    </StackPanel.Resources>

    <Rectangle PointerPressed="Pointer_Clicked" 
     Fill="Blue" Width="200" Height="30">
        <Rectangle.RenderTransform>
            <ScaleTransform x:Name="rectScaleTransform" />
        </Rectangle.RenderTransform>
    </Rectangle>

</StackPanel>
// When the user clicks the rectangle, the animation
// begins. 
private void Pointer_Clicked(object sender, PointerRoutedEventArgs e)
{
    myStoryboard.Begin();
}

Keterangan

ElasticEase adalah salah satu dari dua fungsi pelingkat yang dapat menghasilkan nilai di luar rentang Normal Dari/Ke . (Yang lainnya adalah BackEase.) Saat fungsi pengurangan dimulai, nilai berosilasi positif dan negatif di sekitar nilai Dari sampai mencapai amplitude positif akhirnya yang merupakan nilai Kepada . Properti Springiness memodifikasi karakter sinusoidal osilasi ini. Dengan Springiness 0, osilasi pada dasarnya sinusoidal dan menyerupan diagram khas gerakan musim semi. Dengan nilai Springiness yang lebih besar, seperti meredam gerakan musim semi.

Properti Osilasi menyatakan berapa kali fungsi berosilasi dan melintasi nilai yang sebenarnya di bawah nilai awal Dari .

Anda mungkin mendapatkan hasil terbaik hanya dengan bereksperimen dengan properti Springiness, Oscillations , dan EasingMode sampai animasi secara visual melakukan apa yang Anda inginkan untuk skenario nilai properti animasi Anda.

BounceEase adalah fungsi pelingan serupa yang berfungsi dengan baik untuk emulasi fisika dalam animasi. Perbedaan dengan ElasticEase adalah bahwa BounceEase tidak akan pernah keluar dari rentang Dari/Ke . Cara lain untuk mengonsempurnakan dua fungsi pelonggaran adalah bahwa ElasticEase adalah apa yang mungkin Anda gunakan untuk menganimasikan penjepit string, sedangkan BounceEase adalah apa yang mungkin Anda gunakan untuk menunjukkan pantulan bola terhadap garis atau bidang.

Fungsi pelingan dapat diterapkan ke properti EasingFunctiondari Dari/Ke/Oleh animasi, atau ke properti EasingFunction dari jenis bingkai kunci yang digunakan untuk varian Pelingkas animasi bingkai kunci. Untuk informasi selengkapnya, lihat Animasi bingkai kunci dan meringankan animasi fungsi.

Konstruktor

ElasticEase()

Menginisialisasi instans baru kelas ElasticEase .

Properti

Dispatcher

Selalu kembali null di aplikasi SDK Aplikasi Windows. Gunakan DispatcherQueue sebagai gantinya .

(Diperoleh dari DependencyObject)
DispatcherQueue

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

(Diperoleh dari DependencyObject)
EasingMode

Mendapatkan atau mengatur nilai yang menentukan bagaimana animasi menginterpolasi.

(Diperoleh dari EasingFunctionBase)
Oscillations

Mendapatkan atau mengatur berapa kali target meluncur bolak-balik di atas tujuan animasi.

OscillationsProperty

Mengidentifikasi properti dependensi Oscillations .

Springiness

Mendapatkan atau mengatur kekakuan musim semi. Semakin kecil nilai Springiness, semakin kaku pegas dan semakin cepat elastisitas menurun intensitasnya di setiap osilasi.

SpringinessProperty

Mengidentifikasi properti dependensi Springiness .

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
Ease(Double)

Mengubah waktu yang dinormalisasi untuk mengontrol kecepatan animasi.

(Diperoleh dari EasingFunctionBase)
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