HandoffBehavior 列挙型

定義

プロパティに既に適用されている既存のアニメーションと新しいアニメーションが相互作用する方法を指定します。

public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior = 
Public Enum HandoffBehavior
継承
HandoffBehavior

フィールド

Compose 1

新しいアニメーションは、複合チェーンの末尾に新しいアニメーションを追加することにより、既存のアニメーションに組み合わされます。

SnapshotAndReplace 0

新しいアニメーションは、プロパティに適用された既存のアニメーションを置き換えます。

注釈

Compose を Storyboard使用してプロパティに 、 AnimationTimeline、または AnimationClock を適用すると、 Clock そのプロパティに以前に関連付けられたオブジェクトはシステム リソースを消費し続けます。タイミング システムはクロックを自動的に削除しません。

Compose を使用して多数のクロックを適用する場合のパフォーマンスの問題を回避するには、完了した後にアニメーション化されたプロパティから構成クロックを削除する必要があります。 クロックを削除するには、いくつかの方法があります。

  • プロパティからすべてのクロックを削除するには、アニメーション化されたオブジェクトの ApplyAnimationClock(DependencyProperty, AnimationClock) または BeginAnimation(DependencyProperty, AnimationTimeline) メソッドを使用します。 アニメーション化するプロパティを 1 番目のパラメーターとして指定し、null を 2 番目として指定します。 これにより、すべてのアニメーション クロックがプロパティから削除されます。

  • 特定の AnimationClock をクロックの一覧から削除するには、AnimationClockController プロパティを使用して ClockControllerを取得し、次に RemoveClockController メソッドを呼び出します。 これは通常、クロックの Completed イベント ハンドラーで実行されます。 によって制御ClockControllerControllerできるのはルート クロックのみです。子クロックの プロパティは を返しますnull。 また、クロックの Completed 有効時間が永遠の場合、イベントは発生しないことに注意してください。 その場合、ユーザーは を呼び出す Removeタイミングを決定する必要があります。

これは主に、有効期間が長いオブジェクトでのアニメーションの問題です。 オブジェクトがガベージ コレクションされる場合は、そのクロックも切断されて、ガベージ コレクションされます。

クロック オブジェクトについて詳しくは、「アニメーションとタイミング システムの概要」をご覧ください。

適用対象