Animatable.ApplyAnimationClock メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した AnimationClockを使用して、指定した DependencyProperty をアニメーション化します。
オーバーロード
ApplyAnimationClock(DependencyProperty, AnimationClock) |
指定した DependencyPropertyに AnimationClock を適用します。 プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。 |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
指定した DependencyPropertyに AnimationClock を適用します。 プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。 |
ApplyAnimationClock(DependencyProperty, AnimationClock)
指定した DependencyPropertyに AnimationClock を適用します。 プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock)
パラメーター
アニメーション化するプロパティ。
- clock
- AnimationClock
指定したプロパティをアニメーション化するクロック。
clock
が null
の場合、すべてのアニメーションが指定したプロパティから削除されます (ただし、停止されません)。
実装
注釈
このメソッドを使用してプロパティからクロックを削除しても、それらのクロックは停止しないことに注意してください。
適用対象
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
指定した DependencyPropertyに AnimationClock を適用します。 プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock, handoffBehavior As HandoffBehavior)
パラメーター
アニメーション化するプロパティ。
- clock
- AnimationClock
指定したプロパティをアニメーション化するクロック。
handoffBehavior
が SnapshotAndReplace され、clock
が null
されている場合、すべてのアニメーションは指定されたプロパティから削除されます (ただし、停止されません)。
handoffBehavior
が Compose で、クロックが null
場合、このメソッドは無効です。
- handoffBehavior
- HandoffBehavior
プロパティ値に既に影響を与える現在のアニメーションと新しいアニメーションがどのように対話するかを指定する値。
実装
例
次の例は、さまざまな HandoffBehavior 設定を使用してアニメーション クロックを適用する方法を示しています。
注釈
このメソッドを使用してプロパティからクロックを削除しても、それらのクロックは停止しないことに注意してください。
Compose HandoffBehavior の使用
Compose HandoffBehaviorを使用してプロパティに Storyboard、AnimationTimeline、または AnimationClock を適用すると、そのプロパティに以前に関連付けられた Clock オブジェクトはシステム リソースを引き続き使用します。タイミング システムはこれらのクロックを自動的に削除しません。
Composeを使用して多数のクロックを適用する場合のパフォーマンスの問題を回避するには、完了した後にアニメーション化されたプロパティから作成クロックを削除する必要があります。 クロックを削除するには、いくつかの方法があります。
プロパティからすべてのクロックを削除するには、アニメーションオブジェクトの ApplyAnimationClock(DependencyProperty, AnimationClock) または BeginAnimation(DependencyProperty, AnimationTimeline) メソッドを使用します。 アニメーション化するプロパティを最初のパラメーターとして指定し、2 番目のパラメーターとして
null
します。 これにより、プロパティからすべてのアニメーション クロックが削除されます。クロックの一覧から特定の AnimationClock を削除するには、AnimationClock の Controller プロパティを使用して ClockControllerを取得し、ClockControllerの Remove メソッドを呼び出します。 これは通常、クロックの Completed イベント ハンドラーで行われます。 ClockControllerによって制御できるのはルート クロックのみであることに注意してください。子クロックの Controller プロパティは、
null
を返します。 また、Completed イベントは、クロックの有効期間が永遠に続く場合は呼び出されないことにも注意してください。 その場合、ユーザーは Removeを呼び出すタイミングを決定する必要があります。
これは主に、有効期間が長いオブジェクトのアニメーションの問題です。 オブジェクトがガベージ コレクションされると、そのクロックも切断され、ガベージ コレクションされます。
クロック オブジェクトの詳細については、「アニメーションとタイミング システムの概要」を参照してください。
適用対象
.NET