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

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

注釈

isControllable、パラメーター、またはそのパラメーターが false指定されていないシグネチャの場合、アニメーションに関連付けられているタイムライン クロックは、"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

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

注釈

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

Compose HandoffBehavior の使用

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

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

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

  • クロックの一覧から特定の AnimationClock を削除するには、AnimationClockController プロパティを使用して ClockControllerを取得し、ClockControllerRemove メソッドを呼び出します。 これは通常、クロックの Completed イベント ハンドラーで行われます。 ClockControllerによって制御できるのはルート クロックのみであることに注意してください。子クロックの Controller プロパティは、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

開始後にアニメーションを制御可能 (一時停止可能) かどうかを宣言します。

注釈

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

Compose HandoffBehavior の使用

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

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

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

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

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

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

適用対象