2014-11-04 52 views
1

我已經寫了一個控制,使星形成,點的數量和每個點的長度可以通過依賴屬性進行配置。我可以將它們綁定到Slider控件,並且它都可以工作。WinRT - 我的動畫似乎沒有運行

現在我寫了一個行爲,將這個星控件「注入」一個加載的控件的視覺樹,然後在代碼中製作一個動畫,使星星像卡通閃光燈一樣閃閃發亮。

我的動畫無法運行。 Storyboard.Completed事件觸發,但在頁面加載時,在其初始設置後,從動畫中的依賴項屬性的更改處理程序中的斷點永遠不會被命中。

我正在使用一對DoubleAnimation實例。

(這是Q/A我解決了這3小時)

回答

1

你需要設置你的DoubleAnimation S上的EnableDependentAnimation財產。從MSDN:

不是你可以創建默認情況下,在Windows 運行的應用程序運行,如果動畫系統確定動畫 可能會導致你的UI表現不好所有的自定義動畫。系統 確定可能會對性能產生影響的動畫被稱爲依賴 動畫。它是相關的,因爲動畫的時鐘是 直接針對UI線程工作,這也是用戶輸入和其他更新嘗試將運行時更改 應用於UI的活動 。在UI線程上佔用大量系統資源的依賴性動畫可能會使應用在某些情況下顯示爲無響應 。如果您的動畫導致佈局更改或 ,否則可能會影響UI線程上的性能 您經常需要明確啓用動畫才能看到它運行。 這就是特定動畫類 上的EnableDependentAnimation屬性的用途。請參閱 的依賴和獨立動畫更多信息。

很難發現。幸運的是,你在這一天選擇了RTFM,否則你最終可能會寫下自己的計時器和內容,迫使所有其餘的工作都放在聰明的星形控制器上,以免浪費。