FrameworkElement.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

要開始的腳本。

範例

下列範例會 Storyboard 從資源擷取 ,然後在處理內部事件時執行 Storyboard

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

備註

最常見的動畫案例不會使用這個方法。 一般而言,您會在標記中建立 StoryboardBeginStoryboard 元素,然後將這些專案 EventTrigger 放在元素上。 由 事件觸發時,動畫接著會執行。 的大部分控制項層面 Storyboard 都可以由標記中公開的屬性來處理。

對於未使用 isControllable 、參數或指定 false 該參數的簽章,只要動畫到達 「Fill」 期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,無法重新開機動畫。 控制動畫也需要腳本具有 x:Name 指示 詞,或在程式碼中透過參考存取。

適用於

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

列舉型別的值,其描述若腳本中描述的屬性已顯示動畫時,所要使用的行為。

範例

下列範例會 Storyboard 從資源擷取 ,然後在處理內部事件時執行 Storyboard

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

備註

最常見的動畫案例不會使用這個方法。 一般而言,您會在標記中建立 StoryboardBeginStoryboard 元素,然後將這些專案 EventTrigger 放在元素上。 由 事件觸發時,動畫接著會執行。 的大部分控制項層面 Storyboard 都可以由標記中公開的屬性來處理。

對於未使用 isControllable 、參數或指定 false 該參數的簽章,只要動畫到達 「Fill」 期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,無法重新開機動畫。 控制動畫也需要腳本具有 x:Name 指示 詞,或在程式碼中透過參考存取。

交握行為可以指定為 的 BeginStoryboard 屬性。

使用 Compose HandoffBehavior

當您使用 HandoffBehaviorCompose 將 、 AnimationTimelineAnimationClock 套用 Storyboard 至 屬性時,先前與該屬性相關聯的任何 Clock 物件會繼續取用系統資源;計時系統不會自動移除時鐘。

若要避免使用 套用 Compose 大量時鐘時的效能問題,您應該在動畫屬性完成之後移除撰寫時鐘。 有數種方式可以移除時鐘:

這主要是在存留期較長的物件才會發生的動畫問題。 當物件被垃圾收集時,其時鐘也會中斷連線並垃圾收集。

如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀

適用於

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

宣告在動畫啟動後,是否可以控制 (暫停) 該動畫。

備註

最常見的動畫案例不會使用這個方法。 一般而言,您會在標記中建立 StoryboardBeginStoryboard 元素,然後將這些專案 EventTrigger 放在元素上。 由 事件觸發時,動畫接著會執行。 的大部分控制項層面 Storyboard 都可以由標記中公開的屬性來處理。

對於未使用 isControllable 、參數或指定 false 該參數的簽章,只要動畫到達 「Fill」 期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,無法重新開機動畫。 控制動畫也需要腳本具有 x:Name 指示 詞,或在程式碼中透過參考存取。

交握行為可以指定為 的 BeginStoryboard 屬性。

使用 Compose HandoffBehavior

當您使用 HandoffBehaviorCompose 將 、 AnimationTimelineAnimationClock 套用 Storyboard 至 屬性時,先前與該屬性相關聯的任何 Clock 物件會繼續取用系統資源;計時系統不會自動移除時鐘。

若要避免使用 套用 Compose 大量時鐘時的效能問題,您應該在動畫屬性完成之後移除撰寫時鐘。 有數種方式可以移除時鐘:

這主要是在存留期較長的物件才會發生的動畫問題。 當物件被垃圾收集時,其時鐘也會中斷連線並垃圾收集。

如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀

適用於