此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

ElasticEase 类

2013/12/13

表示缓动函数,创建一个类似于弹簧来回振动直到停止的动画。

Namespace:  System.Windows.Media.Animation
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public class ElasticEase : EasingFunctionBase
<ElasticEase .../>

ElasticEase 类型公开以下成员。

  名称说明
公共方法ElasticEase初始化 ElasticEase 类的新实例。
返回顶部

  名称说明
公共属性Dispatcher获取与此对象关联的 Dispatcher (从 DependencyObject 继承。)
公共属性EasingMode获取或设置用于指定动画内插方式的值。 (从 EasingFunctionBase 继承。)
公共属性Oscillations获取或设置目标在动画目标位置来回滑动的次数。
公共属性Springiness获取或设置弹簧的刚度。弹性值越小,弹簧就越硬,且每次振动时弹力在强度方面会减小得越快。
返回顶部

  名称说明
公共方法CheckAccess确定调用线程是否可以访问此对象。 (从 DependencyObject 继承。)
公共方法ClearValue清除依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Ease转换规范化时间以控制动画的节奏。 (从 EasingFunctionBase 继承。)
受保护的方法EaseInCore提供缓动函数的逻辑部分,您可重写该部分以生成自定义缓动函数的 EaseIn 模式。 (重写 EasingFunctionBase.EaseInCore(Double)。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetAnimationBaseValue返回为 Windows Phone 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (从 DependencyObject 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法GetValueDependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法ReadLocalValue返回依赖项属性的本地值(如果设置了本地值)。 (从 DependencyObject 继承。)
公共方法SetValueDependencyObject 设置依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
返回顶部

  名称说明
公共字段静态成员OscillationsProperty标识 Oscillations 依赖项属性。
公共字段静态成员SpringinessProperty标识 Springiness 依赖项属性。
返回顶部

通过指定 EasingMode 属性值,您可以控制动画中"弹簧"行为发生的时间。下图显示了 EasingMode 的不同值,其中 f(t) 表示动画进度,而 t 表示时间。

ElasticEase with graphs of different easingmodes.

可以使用 Oscillations 属性指定动画来回振动的次数,以及使用 Springiness 属性指定振动弹性的张紧程度。

说明注意:

因为此动画导致值来回振动,所以此动画可能会意外插入到负数中。当对不支持负数的属性进行动画处理时,这可能会引发错误。例如,如果将此动画应用到对象的 Height(例如,从 0 到 200,采用 EaseInEasingMode),动画将尝试插入到 Height 的负数中,这将引发错误。

除了使用包含在运行时中的缓动函数以外,您还可以通过从 EasingFunctionBase 继承,来创建自己的自定义缓动函数。

以下示例将 ElasticEase 缓动函数应用于 DoubleAnimation,以创建一个类似于弹簧来回振动直到停止的动画。


<StackPanel x:Name="LayoutRoot" Background="Transparent">
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
            <DoubleAnimation From="30" To="200" Duration="00:00:4" 
                Storyboard.TargetName="myRectangle" 
                Storyboard.TargetProperty="Height">
                <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 x:Name="myRectangle" MouseLeftButtonDown="Mouse_Clicked" 
     Fill="Blue" Width="200" Height="30" />



</StackPanel>



// When the user clicks the rectangle, the animation
// begins. 
private void Mouse_Clicked(object sender, MouseEventArgs e)
{
    myStoryboard.Begin();
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2015 Microsoft