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
- 衍生
範例
下列程式碼範例示範如何在 Extensible Application Markup Language (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) |