FrameworkContentElement.BeginStoryboard メソッド

定義

指定したストーリーボードに含まれるアクションのシーケンスを開始します。

オーバーロード

BeginStoryboard(Storyboard)

指定したストーリーボードに含まれるアクションのシーケンスを開始します。

BeginStoryboard(Storyboard, HandoffBehavior)

プロパティが既にアニメーション化されていた場合に行う処理を指定するオプションを使用して、指定したストーリーボードに含まれるアクションのシーケンスを開始します。

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

開始後のアニメーションの制御の状態を指定して、指定したストーリーボードに含まれるアクションのシーケンスを開始します。

BeginStoryboard(Storyboard)

指定したストーリーボードに含まれるアクションのシーケンスを開始します。

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard -> unit
Public Sub BeginStoryboard (storyboard As Storyboard)

パラメーター

storyboard
Storyboard

開始するストーリーボード。

注釈

、パラメーター、またはそのパラメーターを指定isControllablefalseしないシグネチャの場合、アニメーションに関連付けられているタイムラインクロックは、"Fill" 期間に達するとすぐに削除されます。 そのため、1 回実行した後にアニメーションを再起動することはできません。 アニメーションを制御するには、ストーリーボードに名前を付けるか、コード内のインスタンスとしてアクセスできる必要があることにも注意してください。

適用対象

BeginStoryboard(Storyboard, HandoffBehavior)

プロパティが既にアニメーション化されていた場合に行う処理を指定するオプションを使用して、指定したストーリーボードに含まれるアクションのシーケンスを開始します。

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior)

パラメーター

storyboard
Storyboard

開始するストーリーボード。

handoffBehavior
HandoffBehavior

ストーリーボードに記述されたプロパティが既にアニメーション化されている場合に使用する動作を表す列挙値。

注釈

、パラメーター、またはそのパラメーターを指定isControllablefalseしないシグネチャの場合、アニメーションに関連付けられているタイムラインクロックは、"Fill" 期間に達するとすぐに削除されます。 そのため、1 回実行した後にアニメーションを再起動することはできません。 アニメーションを制御するには、ストーリーボードに名前を付けるか、コード内のインスタンスとしてアクセスできる必要があることにも注意してください。

Compose HandoffBehavior の使用

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

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

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

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

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

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

適用対象

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

開始後のアニメーションの制御の状態を指定して、指定したストーリーボードに含まれるアクションのシーケンスを開始します。

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior, bool isControllable);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior * bool -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior, isControllable As Boolean)

パラメーター

storyboard
Storyboard

開始するストーリーボード。

handoffBehavior
HandoffBehavior

ストーリーボードに記述されたプロパティが既にアニメーション化されている場合に使用する動作を表す列挙値。

isControllable
Boolean

アニメーションを起動した後に、アニメーションを制御できるかどうか (一時停止できるかどうか) を宣言します。

注釈

、パラメーター、またはそのパラメーターを指定isControllablefalseしないシグネチャの場合、アニメーションに関連付けられているタイムラインクロックは、"Fill" 期間に達するとすぐに削除されます。 そのため、1 回実行した後にアニメーションを再起動することはできません。 アニメーションを制御するには、ストーリーボードに名前を付けるか、コード内のインスタンスとしてアクセスできる必要があることにも注意してください。

Compose HandoffBehavior の使用

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

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

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

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

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

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

適用対象