語言

BackEase 類別

定義

代表一個緩解函數,在一段時間內改變與主函數相反方向的值,然後以傳統方式反轉並完成函數隨時間的行為。

public ref class BackEase 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 BackEase 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 BackEase : EasingFunctionBase
Public NotInheritable Class BackEase
Inherits EasingFunctionBase
<BackEase .../>
繼承
Object Platform::Object IInspectable DependencyObject EasingFunctionBase BackEase
屬性

範例

以下範例將 BackEase 緩和函數應用於 DoubleAnimation ,以產生在動畫開始與結束時略微收回的動畫。

<StackPanel x:Name="LayoutRoot" >
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
                <DoubleAnimation From="1" To="2" Duration="00:00:1" 
                Storyboard.TargetName="myScaleTransform" 
                Storyboard.TargetProperty="ScaleX">
                <DoubleAnimation.EasingFunction>
                    <BackEase Amplitude="0.3" EasingMode="EaseInOut" />
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>
    </StackPanel.Resources>

    <Rectangle Margin="60" x:Name="myRectangle" PointerPressed="Pointer_Clicked" 
     Fill="Blue" Width="50" Height="50" >
        
        <Rectangle.RenderTransform>
            <ScaleTransform x:Name="myScaleTransform" />
        </Rectangle.RenderTransform>
        
    </Rectangle>
</StackPanel>
// When the user clicks the rectangle, the animation
// begins. 
private void Pointer_Clicked(object sender, PointerRoutedEventArgs e)
{
    myStoryboard.Begin();
}

備註

BackEase 是兩個能產生超出正常 FromTo 範圍的 Ease/ 函式之一。 (另一個是 ElasticEase。)

  • 如果 EasingMode 是 EaseIn (預設值),那麼函式會先從 From 和 To 所指示的值改變方向相反的方向改變值開始,換句話說,它最初產生的值小於 From 值。
  • 若 EasingMode 是 EaseOut ,則函式以典型方式開始,但接近尾聲時會超過 To 值,然後回到 To 值。
  • 若 EasingMode 是 EaseInOut ,則該函數在開頭給出的值小於 From ,接近結尾時大於 To 。 此圖示展示了三個可能 EasingMode 值中每個 BackEase 的隨時間函數圖近似,預設值為 Amplitude 。BackEase 緩解函數隨時間函數的函數隨時間圖示意。圖表顯示曲線,其中 x 軸為時間 t,y 軸為函數除以時間 f(t)

你可以嘗試 Springiness 和 EasingMode 屬性,直到動畫在視覺上符合你想要的效果,可能會得到最佳效果。

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

建構函式

名稱 Description
BackEase()

初始化 BackEase 類別的新實例。

屬性

名稱 Description
Amplitude

用來設定與 BackEase 動畫相關的回縮幅度。

AmplitudeProperty

識別 振幅 依賴性質。

Dispatcher

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

(繼承來源 DependencyObject)
DispatcherQueue

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

(繼承來源 DependencyObject)
EasingMode

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

(繼承來源 EasingFunctionBase)

方法

名稱 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)

適用於

另請參閱