BackEase 类

定义

表示一个缓动函数,该函数在动画开始在指示的路径中进行动画处理之前稍微收回动画的动作。

public ref class BackEase : System::Windows::Media::Animation::EasingFunctionBase
public class BackEase : System.Windows.Media.Animation.EasingFunctionBase
type BackEase = class
    inherit EasingFunctionBase
Public Class BackEase
Inherits EasingFunctionBase
继承

示例

以下示例将 BackEase 缓动函数应用于 DoubleAnimation,以创建在动画的开头和结尾略有回退的动画。

<Rectangle Name="MyRectangle" Margin="60" Width="50" Height="50" Fill="Blue">
      <Rectangle.Triggers>
          <EventTrigger RoutedEvent="Rectangle.MouseDown">
              <BeginStoryboard>
                  <Storyboard>
                      <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>
                      <DoubleAnimation From="1" To="2" Duration="00:00:1" 
                     Storyboard.TargetName="myScaleTransform" 
                     Storyboard.TargetProperty="ScaleY">
                          <DoubleAnimation.EasingFunction>
                              <BackEase Amplitude="0.3" EasingMode="EaseInOut" />
                          </DoubleAnimation.EasingFunction>
                      </DoubleAnimation>

                  </Storyboard>
              </BeginStoryboard>
          </EventTrigger>
      </Rectangle.Triggers>
      <Rectangle.RenderTransform>
          <ScaleTransform x:Name="myScaleTransform" />
      </Rectangle.RenderTransform>

  </Rectangle>

注解

可以通过在动画中指定 EasingMode 属性值来控制动画中何时发生“备份”行为。 下图演示了 EasingMode的不同值,其中 ft)表示动画进度,t 表示时间。

BackEase EasingMode 图。

用于此函数的公式如下。

BackEase 公式。

注意

由于此动画会导致值在进行之前收回,因此动画可能会意外内插成负数。 当对不允许负数的属性进行动画处理时,这可能会导致错误。 例如,如果将此动画应用于对象的 Height(例如,从 0 到 200,EaseInEasingMode),则动画将尝试通过负数内插 Height,这将引发错误。

除了 BackEase之外,还有其他几个缓动函数。 除了使用运行时中包含的缓动函数之外,还可以通过从 EasingFunctionBase继承来创建自己的自定义缓动函数。

XAML 对象元素用法

<BackEase .../>  

构造函数

BackEase()

初始化 BackEase 类的新实例。

字段

AmplitudeProperty

标识 Amplitude 依赖属性。

属性

Amplitude

获取或设置与 BackEase 动画关联的收回振幅。

CanFreeze

获取一个值,该值指示是否可以使对象不可修改。

(继承自 Freezable)
DependencyObjectType

获取包装此实例的 CLR 类型的 DependencyObjectType

(继承自 DependencyObject)
Dispatcher

获取与此 DispatcherObject 关联的 Dispatcher

(继承自 DispatcherObject)
EasingMode

获取或设置一个值,该值指定动画的内插方式。

(继承自 EasingFunctionBase)
IsFrozen

获取一个值,该值指示对象当前是否可修改。

(继承自 Freezable)
IsSealed

获取一个值,该值指示此实例当前是否密封(只读)。

(继承自 DependencyObject)

方法

CheckAccess()

确定调用线程是否有权访问此 DispatcherObject

(继承自 DispatcherObject)
ClearValue(DependencyProperty)

清除属性的本地值。 要清除的属性由 DependencyProperty 标识符指定。

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由 DependencyPropertyKey指定。

(继承自 DependencyObject)
Clone()

创建 Freezable的可修改克隆,从而创建对象的值的深层副本。 复制对象的依赖属性时,此方法复制表达式(可能不再解析),但不会复制动画或其当前值。

(继承自 Freezable)
CloneCore(Freezable)

使用基(非动画化)属性值将指定 Freezable 的实例创建克隆(深层副本)。

(继承自 Freezable)
CloneCurrentValue()

使用 Freezable 的当前值创建可修改的克隆(深层副本)。

(继承自 Freezable)
CloneCurrentValueCore(Freezable)

使用当前属性值使实例成为指定 Freezable 的可修改克隆(深层副本)。

(继承自 Freezable)
CoerceValue(DependencyProperty)

强制指定依赖属性的值。 这是通过在调用 DependencyObject上调用依赖属性的属性元数据中指定的任何 CoerceValueCallback 函数来实现的。

(继承自 DependencyObject)
CreateInstance()

初始化 Freezable 类的新实例。

(继承自 Freezable)
CreateInstanceCore()

创建 Freezable 派生类的新实例。 创建派生类时,必须重写此方法。

Ease(Double)

转换规范化时间以控制动画的节奏。

(继承自 EasingFunctionBase)
EaseInCore(Double)

提供缓动函数的逻辑部分,可以重写该部分以生成自定义缓动函数的 EaseIn 模式。

Equals(Object)

确定提供的 DependencyObject 是否等效于当前 DependencyObject

(继承自 DependencyObject)
Freeze()

使当前对象不可修改,并将其 IsFrozen 属性设置为 true

(继承自 Freezable)
FreezeCore(Boolean)

使 Freezable 对象不可修改,或测试是否可以将其设为不可修改。

(继承自 Freezable)
GetAsFrozen()

使用基本(非动画)属性值创建 Freezable的冻结副本。 由于副本已冻结,因此引用复制任何冻结的子对象。

(继承自 Freezable)
GetAsFrozenCore(Freezable)

使用基(非动画化)属性值将实例作为指定 Freezable 的冻结克隆。

(继承自 Freezable)
GetCurrentValueAsFrozen()

使用当前属性值创建 Freezable 的冻结副本。 由于副本已冻结,因此引用复制任何冻结的子对象。

(继承自 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

使当前实例成为指定 Freezable的冻结克隆。 如果对象具有动画依赖属性,则复制其当前动画值。

(继承自 Freezable)
GetHashCode()

获取此 DependencyObject的哈希代码。

(继承自 DependencyObject)
GetLocalValueEnumerator()

创建一个专用枚举器,用于确定哪些依赖项属性在此 DependencyObject上具有本地设置的值。

(继承自 DependencyObject)
GetType()

获取当前实例的 Type

(继承自 Object)
GetValue(DependencyProperty)

返回此 DependencyObject实例上的依赖属性的当前有效值。

(继承自 DependencyObject)
InvalidateProperty(DependencyProperty)

重新评估指定依赖属性的有效值。

(继承自 DependencyObject)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
OnChanged()

修改当前 Freezable 对象时调用。

(继承自 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

此成员支持 Windows Presentation Foundation (WPF) 基础结构,不应直接从代码使用。

(继承自 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

确保为刚刚设置 DependencyObjectType 数据成员建立适当的上下文指针。

(继承自 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

重写 OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 实现,以调用任何 Changed 处理程序,以响应类型 Freezable更改的依赖属性。

(继承自 Freezable)
ReadLocalValue(DependencyProperty)

返回依赖属性的本地值(如果存在)。

(继承自 DependencyObject)
ReadPreamble()

确保从有效线程访问 FreezableFreezable 继承者必须在读取非依赖属性的数据成员的任何 API 的开头调用此方法。

(继承自 Freezable)
SetCurrentValue(DependencyProperty, Object)

设置依赖项属性的值,而不更改其值源。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置依赖属性的本地值,由依赖属性标识符指定。

(继承自 DependencyObject)
SetValue(DependencyPropertyKey, Object)

设置由依赖属性的 DependencyPropertyKey 标识符指定的只读依赖属性的本地值。

(继承自 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

返回一个值,该值指示序列化进程是否应序列化所提供的依赖属性的值。

(继承自 DependencyObject)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)
VerifyAccess()

强制调用线程有权访问此 DispatcherObject

(继承自 DispatcherObject)
WritePostscript()

Freezable 引发 Changed 事件并调用其 OnChanged() 方法。 派生自 Freezable 的类应在修改未存储为依赖属性的类成员的任何 API 末尾调用此方法。

(继承自 Freezable)
WritePreamble()

验证 Freezable 是否未冻结,以及是否正在从有效的线程上下文访问它。 Freezable 继承者应在写入非依赖属性的数据成员的任何 API 的开头调用此方法。

(继承自 Freezable)

事件

Changed

在修改 Freezable 或其包含的对象时发生。

(继承自 Freezable)

适用于