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 該參數的簽章,只要動畫到達 「填滿」期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新開機動畫。 控制動畫也需要腳本具有 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 該參數的簽章,只要動畫到達 「填滿」期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新開機動畫。 控制動畫也需要腳本具有 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 該參數的簽章,只要動畫到達 「填滿」期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新開機動畫。 控制動畫也需要腳本具有 x:Name 指示詞 ,或在程式碼中透過參考存取。

遞交行為可以指定為 的屬性 BeginStoryboard

使用 Compose HandoffBehavior

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

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

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

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

適用於