ObjectAnimationBase 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当实现时,对 Object 值进行动画处理的抽象类。
public ref class ObjectAnimationBase abstract : System::Windows::Media::Animation::AnimationTimeline
public abstract class ObjectAnimationBase : System.Windows.Media.Animation.AnimationTimeline
type ObjectAnimationBase = class
inherit AnimationTimeline
Public MustInherit Class ObjectAnimationBase
Inherits AnimationTimeline
- 继承
-
ObjectAnimationBase
- 派生
示例
下面的代码示例演示如何在可扩展应用程序标记语言 (XAML) 中使用派生 ObjectAnimationUsingKeyFrames 类。
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Page.Triggers>
<EventTrigger RoutedEvent="Page.Loaded">
<BeginStoryboard>
<Storyboard>
<!-- ObjectAnimationUsingKeyFrames is used to animate properties that take
an object as a value. This animation lasts for 4 seconds using 3 KeyFrames which
swap different brush objects at regular intervals, making the background of the Page
change. -->
<ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty="Background"
Duration="0:0:4" RepeatBehavior="Forever">
<ObjectAnimationUsingKeyFrames.KeyFrames>
<!-- Note: Only discrete interpolation (DiscreteObjectKeyFrame) is available for
use with ObjectAnimationUsingKeyFrames which merely swaps objects according to
a specified timeline. Other types of interpolation are too problematic to apply
to objects. -->
<!-- Using a DiscreteObjectKeyFrame, the Page Background suddenly changes
to a LinearGradientBrush after the first second of the animation. -->
<DiscreteObjectKeyFrame KeyTime="0:0:1">
<DiscreteObjectKeyFrame.Value>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Orange" Offset="0.5" />
<GradientStop Color="Red" Offset="1.0" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<!-- Using a DiscreteObjectKeyFrame, the Page Background suddenly changes
to a RadialGradientBrush after the second second of the animation. -->
<DiscreteObjectKeyFrame KeyTime="0:0:2">
<DiscreteObjectKeyFrame.Value>
<RadialGradientBrush GradientOrigin="0.75,0.25">
<RadialGradientBrush.GradientStops>
<GradientStop Color="White" Offset="0.0" />
<GradientStop Color="MediumBlue" Offset="0.5" />
<GradientStop Color="Black" Offset="1.0" />
</RadialGradientBrush.GradientStops>
</RadialGradientBrush>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<!-- Using a DiscreteObjectKeyFrame, the Page Background suddenly
changes to a DrawingBrush (creates a checkerboard pattern) after the
third second of the animation. -->
<DiscreteObjectKeyFrame KeyTime="0:0:3">
<DiscreteObjectKeyFrame.Value>
<DrawingBrush Viewport="0,0,0.25,0.25" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Brush="White">
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0,1,1" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
<GeometryDrawing Brush="Black"
Geometry="M 0,0 L0,0.5 0.5,0.5 0.5,1 1,1 1,0.5 0.5,0.5 0.5,0" />
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames.KeyFrames>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Page.Triggers>
</Page>
实施者说明
有关扩展 动画 类的信息,请参阅自定义动画概述。
构造函数
ObjectAnimationBase() |
初始化 ObjectAnimationBase 类的新实例。 |
属性
AccelerationRatio |
获取或设置一个值,该值指定在将时间消逝从零加速到其最大速率的过程中所占用时间线的 Duration 的百分比。 (继承自 Timeline) |
AutoReverse |
获取或设置一个值,该值指示时间线在完成向前迭代后是否按相反的顺序播放。 (继承自 Timeline) |
BeginTime |
获取或设置此 Timeline 应开始的时间。 (继承自 Timeline) |
CanFreeze |
获取一个值,该值指示是否可将对象变为不可修改。 (继承自 Freezable) |
DecelerationRatio |
获取或设置一个值,该值指定在将时间消逝从其最大速率减速到零的过程中所占用时间线的 Duration 的百分比。 (继承自 Timeline) |
DependencyObjectType |
获取 DependencyObjectType 包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
Duration |
获取或设置此时间线播放的时间长度,而不是计数重复。 (继承自 Timeline) |
FillBehavior |
获取或设置一个值,该值指定 Timeline 在到达其有效期末尾后的行为。 (继承自 Timeline) |
HasAnimatedProperties |
获取一个值,该值指示一个或多个 AnimationClock 对象是否与此对象的任何依赖项属性相关联。 (继承自 Animatable) |
IsDestinationDefault |
获取一个值,该值指示此动画是否将 GetCurrentValue(Object, Object, AnimationClock) 方法的 defaultDestinationValue 参数用作其目标值。 (继承自 AnimationTimeline) |
IsFrozen |
获取一个值,该值指示对象当前是否可修改。 (继承自 Freezable) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
Name |
获取或设置此 Timeline 的名称。 (继承自 Timeline) |
RepeatBehavior |
获取或设置此时间线的重复行为。 (继承自 Timeline) |
SpeedRatio |
获取或设置此 Timeline 的时间相对于其父级的前进速率。 (继承自 Timeline) |
TargetPropertyType |
获取此动画生成的值的类型。 |
方法
事件
Changed |
在修改 Freezable 或其包含的对象时发生。 (继承自 Freezable) |
Completed |
当此时间线完全播放完毕时发生:它将不再进入其活动周期。 (继承自 Timeline) |
CurrentGlobalSpeedInvalidated |
在时间线时钟的时间前进速率发生变化时发生。 (继承自 Timeline) |
CurrentStateInvalidated |
更新时间线的 Clock 的 CurrentState 属性时发生。 (继承自 Timeline) |
CurrentTimeInvalidated |
更新时间线的 Clock 的 CurrentTime 属性时发生。 (继承自 Timeline) |
RemoveRequested |
当移除为此时间线创建的时钟或其中一个父时间线时发生。 (继承自 Timeline) |