2013-11-26 49 views
1

是否有可能向動畫結束時調用的動畫用戶控件註冊函數?我有一個UserControll - 動畫我開始通過調用.BeginAnimation(propdp,動畫);WPF動畫回調函數

如何在動畫結束時調用另一個函數?

+0

不幸的是,下面提到的用戶已投票結束您的問題,因爲他們錯誤地認爲您的問題與您問題頂部提到的帖子相同。我已經投票重新打開它,但需要更多的投票...來StackOverflow社區...請參閱一些意義,請重新打開此問題。 – Sheridan

+1

@Sheridan也許你應該指出這個問題與其他問題有什麼不同 - 特別是因爲上述問題的答案恰恰包含了要使用的代碼片段。它甚至可以鏈接相同的文檔。 – JeffRSon

+0

+1 @JeffRSon,你是完全正確的,我錯誤地看着一個不同的'Storyboard'基礎問題。我接受這個問題與鏈接問題相同,並收回我以前的評論。謝謝你回來指出。 – Sheridan

回答

4

有一個Timeline.Completed Event,你可以使用。您可以將它設置爲XAML,也可以將其設置爲實例中的C#。鏈接的頁面有一個完整的工作示例,您可以查看。

使用的處理器是默認EventHandler delegate

private void StoryboardCompleted(object sender, EventArgs e) 
{ 
    // the Storyboard has stopped 
} 

UPDATE >>>

雖然Completed事件可以在Storyboard實例設置,它是在Timeline定義事實類。由於Timeline是所有AnimationTimeline類的基類,這意味着您還可以將處理程序附加到事件中,該事件來自您要傳入BeginAnimation事件的AnimationTimeline對象。

+0

ty,我會檢查出 – marcel

+0

如果我沒有故事板,該怎麼辦?這個例子需要參考我猜的故事板。 – marcel

+0

在我創建這個之前沒有找到我複製的帖子。 SRY。 無論如何,完成的活動工作正常。 thx到JeffRSon以及:) – marcel

0

有一個animation.Completed事件。

+0

我需要在我的用戶控件中重寫什麼函數才能使用它? – marcel

+0

沒有功能必須被覆蓋。您必須爲動畫的Completed事件設置處理程序。 – JeffRSon