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 是两个缓动函数之一,可生成超出正常 “从/ ”范围的值。 (另一个是 BackEase.) 缓动函数开始时,值在 From 值周围振荡正负,直到达到最终的正振幅,即 To 值。 Springiness 属性修改此振荡的正弦字符。 Springiness 为 0 时,振荡基本上是正弦的,类似于弹簧运动的典型示意图。 如果 Springiness 值较大,则类似于抑制弹簧的运动。

涛动属性声明函数振荡并交叉到实际低于起始起始值的值的次数。

只需试验 Springiness振荡EasingMode 属性,直到动画直观地执行动画属性值方案所需的操作,即可获得最佳结果。

BounceEase 是一个类似的缓动函数,适用于动画中的物理模拟。 ElasticEase 的区别在于 ,BounceEase 永远不会超出 “从/ ”范围。 概念化这两个缓动函数的另一种方法是 ElasticEase 是可用于对字符串的拔出进行动画处理,而 BounceEase 是可用于显示球对线条或平面的弹跳。

缓动函数可以应用于 From/To/By 动画的 EasingFunction 属性,或应用于用于关键帧动画缓变体的关键帧类型的 EasingFunction 属性。 有关详细信息,请参阅 关键帧动画和缓动函数动画

构造函数

ElasticEase()

初始化 ElasticEase 类的新实例。

属性

Dispatcher

始终在Windows 应用 SDK应用中返回 null 。 请改用 DispatcherQueue

(继承自 DependencyObject)
DispatcherQueue

DispatcherQueue获取与此对象关联的 。 表示 DispatcherQueue 一个可以在 UI 线程上访问 DependencyObject 的设施,即使代码是由非 UI 线程启动的。

(继承自 DependencyObject)
EasingMode

获取或设置用于指定动画内插方式的值。

(继承自 EasingFunctionBase)
Oscillations

获取或设置目标在动画目标位置来回滑动的次数。

OscillationsProperty

标识 “振荡” 依赖属性。

Springiness

获取或设置弹簧的刚度。 弹性值越小,弹簧就越硬,且每次振动时弹力在强度方面会减小得越快。

SpringinessProperty

标识 Springiness 依赖属性。

方法

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)

适用于

另请参阅