語言

ElasticEase 類別

定義

代表一個鬆動函數,產生類似彈簧來回擺動直到停下的動畫。

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 .../>
繼承
Object Platform::Object IInspectable DependencyObject EasingFunctionBase ElasticEase
屬性

範例

這個 XAML 範例將 ElasticEase 的鬆動函數應用到 DoubleAnimation ,創造出類似彈簧來回擺動直到停下的動畫。

<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();
}

備註

ElasticEase 是兩個能產生超出正常 From/To 範圍值的緩和函數之一。 (另一個是 BackEase。)當鬆弛函數開始時,值會圍繞 From 值正負振盪,直到最終達到正振幅,即 To 值。 彈簧性特性改變了此振盪的正弦波特性。 當 彈簧度 為0時,振盪基本上是正弦波,類似彈簧運動的典型圖示。 彈 簧度 越大,就像抑制彈簧的運動。

振盪特性說明函數振盪的次數,並交叉到實際低於起始 From 值的數值。

你可以嘗試調整 彈簧感、 振盪 和 緩和模式 屬性,直到動畫在視覺上達到你想要的效果,效果可能更好。

BounceEase 是一個類似的減緩功能,非常適合動畫中的物理模擬。 ElasticEase 的差別在於 BounceEase 永遠不會超出 From/To 範圍。 另一種概念化這兩個鬆動函數的方式是,ElasticEase 是用來動畫撥弦的動作,而 BounceEase 則是用來顯示球在線條或平面上的彈跳。

易解函數可以套用到FromTo/By動畫的/EasingFunction屬性,或用於關鍵影格動畫Ease變體的關鍵影格類型的EasingFunction屬性。 更多資訊請參見 關鍵影格動畫與輕鬆功能動畫。

建構函式

名稱 Description
ElasticEase()

初始化 ElasticEase 類別的新實例。

屬性

名稱 Description
Dispatcher

它總是在 Windows 應用程式 SDK 應用程式中回傳 null 。 改用 DispatcherQueue 。

(繼承來源 DependencyObject)
DispatcherQueue

得到 DispatcherQueue 這個物件所關聯的那個。 代表 DispatcherQueue 一個功能,即使程式碼是由非 UI 執行緒發起,也能存取 UI DependencyObject 執行緒。

(繼承來源 DependencyObject)
EasingMode

取得或設定一個值,指定動畫如何插值。

(繼承來源 EasingFunctionBase)
Oscillations

它會取得或設定目標在動畫目的地上來回滑動的次數。

OscillationsProperty

識別振 盪 依賴性質。

Springiness

用來調整彈簧的剛性。 彈簧度值越小,彈簧越剛,彈性在每次振盪過程中強度下降的速度越快。

SpringinessProperty

識別彈 簧依賴 性質。

方法

名稱 Description
ClearValue(DependencyProperty)

清除依賴性財產的局部價值。

(繼承來源 DependencyObject)
Ease(Double)

將正規化時間轉換以控制動畫的節奏。

(繼承來源 EasingFunctionBase)
GetAnimationBaseValue(DependencyProperty)

回傳任何為相依屬性建立的基礎值,適用於動畫未啟用時。

(繼承來源 DependencyObject)
GetValue(DependencyProperty)

回傳 DependencyObject 中相依屬性的當前有效值。

(繼承來源 DependencyObject)
ReadLocalValue(DependencyProperty)

若設定了本地值,則回傳依賴性質的局部值。

(繼承來源 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

註冊一個通知函式,用於監聽此 DependencyObject 實例中特定 DependencyProperty 的變更。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)

將相依屬性的局部值設定在 DependencyObject 上。

(繼承來源 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消先前透過呼叫 RegisterPropertyChangedCallback 註冊的變更通知。

(繼承來源 DependencyObject)

適用於

另請參閱