Share via


BackEase 類別

定義

表示在持續時間期間,以相反方向變更主要函式值的 Easing 函式,然後以傳統方式反轉並完成函式隨時間變化的行為。

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 easing 函式套用至 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 是兩個 Easing 函式之一,可在標準From/To範圍之外產生值。 (另一個是 ElasticEase.)

  • 如果 EasingModeEaseIn (預設) 則函式會從變更值相反方向變更 FromTo 表示的值開始,換句話說,它一開始會產生小於 From 值的值。
  • 如果 EasingModeEaseOut ,則函式會以一般方式啟動,但接近結尾將會超過 To 值,然後回到結尾的 To 值。
  • 如果 EasingModeEaseInOut ,則函式會提供小於開頭的 From 值,並大於接近結尾的 To 。 此圖顯示三個可能 EasingMode 值之 BackEase 的函式隨時間變化圖表近似值, 而 Amplitude 作為預設值。BackEase easing 函式的函式經過時間圖表圖例。此圖表顯示 X 軸為 time t 且 y 軸為 time-over-time f (t)

您只要實驗 SpringinessEasingMode 屬性,即可獲得最佳結果,直到動畫以視覺化方式執行動畫屬性值案例所需的動作為止。

Easing 函式可以套用至From/To/By動畫的EasingFunction屬性,或套用至用於主要畫面格動畫之 Easing變體的主要畫面格類型的EasingFunction屬性。 如需詳細資訊,請參閱 主要畫面格動畫和 Easing 函式動畫

建構函式

BackEase()

初始化 BackEase 類別的新實例。

屬性

Amplitude

取得或設定與 BackEase 動畫相關聯的撤銷幅度。

AmplitudeProperty

識別 Amplitude 相依性屬性。

Dispatcher

一律會在 null Windows 應用程式 SDK應用程式中傳回。 請改用 DispatcherQueue

(繼承來源 DependencyObject)
DispatcherQueue

DispatcherQueue取得與這個 物件相關聯的 。 DispatcherQueue表示即使程式碼是由非 UI 執行緒起始,也可以存取 DependencyObject UI 執行緒上的 。

(繼承來源 DependencyObject)
EasingMode

取得或設定值,這個值會指定動畫如何進行插補。

(繼承來源 EasingFunctionBase)

方法

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)

適用於

另請參閱