我試圖在圖像上使用shadereffect實現自定義過渡動畫。 我正在使用一個系統來指定緩動Bézier函數graphicaly,並且我在一個名爲Spline的類中處理所有樣條數據。在我的wpf過渡動畫中閃爍
我將時間屬性動畫發送到樣條曲線的靜態方法,以計算緩和的貝塞爾曲線數據。 然後我得到我發送到我的着色器效果的時間屬性 的計算值,但我不能在此轉換上使用beginAnimation,因爲播放動畫的類是非UI的,並且已經從抽象類繼承。
如果我想使用beginAnimation,我必須作出自DependencyObject抽象類繼承使用依賴屬性爲BeginAnimation的參數,但我得到這個錯誤
this.BeginAnimation(TimeProperty,阿尼姆);
「MyClass的」不包含用於BeginAnimation的定義,並沒有擴展方法BeginAnimation接受類型爲「MyClass的」一個弗里斯特參數可以找到(是否缺少using指令或程序集引用)
所有這些依賴/動畫系統不符合我的需求,因爲我不直接在UI上工作,我現在完全卡住了
任何想法?我使用了一個dispatcherTimer來完成這個技巧,但是當動畫完成時,我可以在半秒內看到我的應用程序的背景顏色,然後我的第二個圖像終於出現了,但是我不想要這樣的行爲,因爲它將被銷售...)
我使用工具中的bézier曲線創建了自定義緩動功能,我在這裏設計了我想要的所有緩動功能,並避免用戶打擾數學。 但在我的應用程序中,我無法使用關鍵幀,因爲我使用自定義類型的樣條緩動函數,並且wpf的樣條關鍵幀系統意味着第一個點指向0,0,最後一個指向1,1 – Julien 2012-08-13 13:39:58
,甚至與第二個動畫使用離散動畫關鍵幀動畫化第二個圖像的不透明度以覆蓋第一個圖像,我仍然在動畫停止後彈出圖像 – Julien 2012-08-13 13:43:30