Clock クラス

定義

Timeline の実行時のタイミング状態を維持します。Maintains run-time timing state for a Timeline.

public ref class Clock : System::Windows::Threading::DispatcherObject
public class Clock : System.Windows.Threading.DispatcherObject
type Clock = class
    inherit DispatcherObject
Public Class Clock
Inherits DispatcherObject
継承
派生

注釈

自体Timelineでは、時間のセグメントを記述する以外に、実際には何も実行しません。A Timeline, by itself, doesn't actually do anything other than describe a segment of time. これは、実際のClock作業を行うタイムラインのオブジェクトです。タイムラインのタイミングに関連する実行時の状態を保持します。It's the timeline's Clock object that does the real work: it maintains timing-related run-time state for the timeline.

ほとんどの場合、タイムラインに対してクロックが自動的に作成されます。In most cases, a clock is created automatically for your timeline. Storyboard またBeginAnimationはメソッドを使用してアニメーションを行うと、タイムラインとアニメーションに対して時計が自動的に作成され、対象のプロパティに適用されます。When you animate by using a Storyboard or the BeginAnimation method, clocks are automatically created for your timelines and animations and applied to their targeted properties. たとえば、「方法:ストーリーボードを使用してプロパティをアニメーション化し、次の操作を行います。ストーリーボードを使用せずにプロパティをアニメーション化します。For examples, see How to: Animate a Property by Using a Storyboard and How to: Animate a Property Without Using a Storyboard.

メソッドを使用してClockを明示的に作成することもできます。 CreateClockYou can also create a Clock explicitly by using the CreateClock method. 多数の類似オブジェクトをアニメーション化するなど、パフォーマンスを集中的に使用するシナリオでClockは、独自の使用を管理することで、パフォーマンス上のメリットが得られます。In performance-intensive scenarios, such as animating large numbers of similar objects, managing your own Clock use can provide performance benefits.

クロックは、作成元のTimelineオブジェクトツリーの構造と一致するツリーに配置されます。Clocks are arranged in trees that match the structure of the Timeline objects tree from which they are created. このようなタイミングツリーのルートクロックは、を取得Controllerすることによって、対話的に操作 (一時停止、再開、停止など) できます。The root clock of such a timing tree can be interactively manipulated (paused, resumed, stopped, and so on) by retrieving its Controller. 非ルートクロックを直接制御することはできません。Non-root clocks cannot be directly controlled.

作成された時計は変更できません (操作することはできます)。Once created, a clock cannot be modified (but it can be manipulated).

タイムラインをタイマーとして使用するUsing a Timeline as a Timer

タイムラインのクロックは、関連付けられているイベントハンドラーがある場合、または ( AnimationClockオブジェクトの場合) プロパティに関連付けられている場合にのみ実行されます。A timeline's clock will only progress when there's an event handler associated with it or (in the case of an AnimationClock object) it is associated with a property. そのため、をTimelineタイマーとして使用することはお勧めしません。For this reason (and others), it's not recommended that you use a Timeline as a timer.

注意 (継承者)

このクロックの時間GetCurrentTimeCore()フローを変更する場合は、派生クラスにを実装する必要があります。Derived classes should implement GetCurrentTimeCore() if they want to modify how time flows for this clock. DiscontinuousTimeMovement()SpeedChanged()、およびStopped()の各メソッドをオーバーライドすることによって、クロックの繰り返し、スキップ、シーク、開始、一時停止、再開、または停止時に、追加の作業を行うために派生クラスを作成できます。Derived classes can be made to do additional work when the clock repeats, skips, seeks, begins, pauses, resumes, or stops by overriding the DiscontinuousTimeMovement(), SpeedChanged(), and Stopped() methods.

コンストラクター

Clock(Timeline)

指定した Clock をテンプレートとして使用して、Timeline クラスの新しいインスタンスを初期化します。Initializes a new instance of the Clock class, using the specified Timeline as a template. 新しい Clock オブジェクトには、子がありません。The new Clock object has no children.

プロパティ

Controller

この Clock を開始、一時停止、再開、シーク、スキップ、停止、削除するために使用できる ClockController を取得します。Gets a ClockController that can be used to start, pause, resume, seek, skip, stop, or remove this Clock.

CurrentGlobalSpeed

現実世界の時間と比較したときの、クロックの時間が現在進行しているレートを取得します。Gets the rate at which the clock's time is currently progressing, compared to real-world time.

CurrentGlobalTime

WPFWPF タイミング システムによって確立される、現在のグローバル時刻を取得します。Gets the current global time, as established by the WPFWPF timing system.

CurrentIteration

このクロックの現在の反復を取得します。Get the current iteration of this clock.

CurrentProgress

現在の反復におけるこの Clock の進行状況を取得します。Gets the current progress of this Clock within its current iteration.

CurrentState

クロックが現在 ActiveFilling、または Stopped であるかどうかを示す値を取得します。Gets a value indicating whether the clock is currently Active, Filling, or Stopped.

CurrentTime

このクロックの現在の反復における現在の時刻を取得します。Gets this clock's current time within its current iteration.

Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)
HasControllableRoot

この Clock が制御可能なクロック ツリーの一部かどうかを示す値を取得します。Gets a value that indicates whether this Clock is part of a controllable clock tree.

IsPaused

この Clock または親が一時停止しているかどうかを示す値を取得します。Gets a value that indicates whether this Clock, or any of its parents, is paused.

NaturalDuration

このクロックの Timeline の自然な継続時間を取得します。Gets the natural duration of this clock's Timeline.

Parent

このクロックの親であるクロックを取得します。Gets the clock that is the parent of this clock.

Timeline

この Timeline の作成元である Clock を取得します。Gets the Timeline from which this Clock was created.

メソッド

CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)
DiscontinuousTimeMovement()

派生クラスで実装された場合、クロックを反復、スキップ、シークするたびに呼び出されます。When implemented in a derived class, will be invoked whenever a clock repeats, skips, or seeks.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetCanSlip()

Clock に、タイミング システムとの同期を必要とする可能性がある専用の外部タイム ソースがあるかどうかを示す値を返します。Returns whether the Clock has its own external time source, which may require synchronization with the timing system.

GetCurrentTimeCore()

このクロックの現在の反復における現在の時刻を取得します。Gets this clock's current time within its current iteration.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
SpeedChanged()

派生クラスで実装された場合、クロックを開始、スキップ、一時停止、再開するか、クロックの SpeedRatio を変更するたびに呼び出されます。When implemented in a derived class, will be invoked whenever a clock begins, skips, pauses, resumes, or when the clock's SpeedRatio is modified.

Stopped()

派生クラスで実装された場合、Stop() メソッドを使用してクロックを停止するたびに呼び出されます。When implemented in a derived class, will be invoked whenever a clock is stopped using the Stop() method.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)

イベント

Completed

クロックの再生が完全に終了すると発生します。Occurs when this clock has completely finished playing.

CurrentGlobalSpeedInvalidated

クロックの速度が更新されると発生します。Occurs when the clock's speed is updated.

CurrentStateInvalidated

クロックの CurrentState プロパティが更新されると発生します。Occurs when the clock's CurrentState property is updated.

CurrentTimeInvalidated

このクロックの CurrentTime が無効になると発生します。Occurs when this clock's CurrentTime becomes invalid.

RemoveRequested

この Remove() または親クロックのいずれかで Clock メソッドが呼び出されると発生します。Occurs when the Remove() method is called on this Clock or one of its parent clocks.

適用対象