Clock クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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自体は、実際には時間のセグメントを記述する以外には何もしません。 タイムラインの Clock オブジェクトは、実際の作業を行います。タイムラインのタイミング関連のランタイム状態を維持します。
ほとんどの場合、タイムラインのクロックが自動的に作成されます。 StoryboardまたはBeginAnimationメソッドを使用してアニメーション化すると、タイムラインとアニメーションのクロックが自動的に作成され、そのターゲット プロパティに適用されます。 例については、「 方法: ストーリーボードを使用してプロパティをアニメーション化 する」と「 方法: ストーリーボードを使用せずにプロパティをアニメーション化する」を参照してください。
CreateClock メソッドを使用して、Clockを明示的に作成することもできます。 多数の類似オブジェクトのアニメーション化など、パフォーマンスを集中的に要するシナリオでは、独自の Clock の使用を管理すると、パフォーマンス上の利点が得られます。
クロックは、作成元の Timeline オブジェクト ツリーの構造に一致するツリーに配置されます。 このようなタイミング ツリーのルート クロックは、 Controllerを取得することによって対話形式で操作 (一時停止、再開、停止など) できます。 非ルート クロックを直接制御することはできません。
一度作成すると、クロックを変更することはできません (ただし、操作することはできます)。
タイムラインをタイマーとして使用する
タイムラインの時計は、イベント ハンドラーが関連付けられている場合、または ( AnimationClock オブジェクトの場合) プロパティに関連付けられている場合にのみ進行します。 このため 、タイマーとして Timeline を使用することはお勧めしません。
注意 (継承者)
派生クラスでは、このクロックの時間フローを変更する場合は、 GetCurrentTimeCore() を実装する必要があります。 派生クラスは、 DiscontinuousTimeMovement()、 SpeedChanged()、および Stopped() メソッドをオーバーライドすることで、クロックの繰り返し、スキップ、シーク、開始、一時停止、再開、または停止時に追加の作業を行うことができます。
コンストラクター
| 名前 | 説明 |
|---|---|
| Clock(Timeline) |
指定したTimelineをテンプレートとして使用して、Clock クラスの新しいインスタンスを初期化します。 新しい Clock オブジェクトには子がありません。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Controller |
このClockを開始、一時停止、再開、シーク、スキップ、停止、または削除するために使用できるClockControllerを取得します。 |
| CurrentGlobalSpeed |
実際の時刻と比較して、クロックの時間が現在進行している速度を取得します。 |
| CurrentGlobalTime |
WPF タイミング システムによって確立された現在のグローバル時刻を取得します。 |
| CurrentIteration |
このクロックの現在のイテレーションを取得します。 |
| CurrentProgress |
現在のイテレーション内のこの Clock の現在の進行状況を取得します。 |
| CurrentState | |
| CurrentTime |
現在のイテレーション内のこのクロックの現在の時刻を取得します。 |
| Dispatcher |
このDispatcherが関連付けられているDispatcherObjectを取得します。 (継承元 DispatcherObject) |
| HasControllableRoot |
この Clock が制御可能なクロック ツリーの一部であるかどうかを示す値を取得します。 |
| IsPaused |
この Clockまたはその親のいずれかが一時停止されているかどうかを示す値を取得します。 |
| NaturalDuration |
このクロックの Timelineの自然な継続時間を取得します。 |
| Parent |
このクロックの親であるクロックを取得します。 |
| Timeline |
メソッド
| 名前 | 説明 |
|---|---|
| CheckAccess() |
呼び出し元のスレッドがこの DispatcherObjectにアクセスできるかどうかを判断します。 (継承元 DispatcherObject) |
| DiscontinuousTimeMovement() |
派生クラスで実装されると、クロックが繰り返し、スキップ、またはシークされるたびに呼び出されます。 |
| Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| GetCanSlip() |
タイミング システムとの同期が必要になる可能性がある、 Clock に独自の外部タイム ソースがあるかどうかを返します。 |
| GetCurrentTimeCore() |
現在のイテレーション内のこのクロックの現在の時刻を取得します。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| SpeedChanged() |
派生クラスで実装されている場合は、クロックが開始、スキップ、一時停止、再開、またはクロックの SpeedRatio が変更されるたびに呼び出されます。 |
| Stopped() |
派生クラスで実装すると、 Stop() メソッドを使用してクロックが停止するたびに呼び出されます。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
| VerifyAccess() |
呼び出し元のスレッドがこの DispatcherObjectにアクセスできるように強制します。 (継承元 DispatcherObject) |
イベント
| 名前 | 説明 |
|---|---|
| Completed |
このクロックの再生が完全に完了したときに発生します。 |
| CurrentGlobalSpeedInvalidated |
クロックの速度が更新されたときに発生します。 |
| CurrentStateInvalidated |
クロックの CurrentState プロパティが更新されたときに発生します。 |
| CurrentTimeInvalidated |
このクロックの CurrentTime が無効になったときに発生します。 |
| RemoveRequested |