2011-03-11 54 views
2

在我的Windows Phone 7應用程序中,我有一個包含與每個圖像相關聯的圖像的對象列表(總計約40個)。我在我的主頁上有一個圖像,用戶可以通過單擊按鈕隨機選擇其中一個對象,然後更改圖像以匹配隨機選擇的對象。如何在Windows Phone 7中使用圖像創建無限傳送帶效果

對於動畫效果,我想要有一個水平的「老虎機」效果,其中原始的兩個其他圖片(左邊和右邊)將出現在屏幕上,然後所有人都會移動迅速向左。當每個人離開屏幕時,它應該重新出現在不同的圖片加載的右側(剛剛離開屏幕),並且這應該都持續一段時間(在放慢速度並停止到所選圖像之前)。

我做了一些研究,發現PathListBox對於這種動畫/旋轉非常完美,但不幸的是它只在Silverlight 4中,而Windows Phone 7在Silverlight 3中運行。另一種方法是使用水平列表框並重新排序項目以將它們移動到最後......但我不確定如何在動畫中執行此操作。

最糟糕的是,實現它的真正可怕的方式是使用DoubleAnimation爲每個圖像使用數十個錯誤對齊的關鍵幀,並計算每個圖像何時離開屏幕,然後將離散的關鍵幀設置爲彈出屏幕右側的圖像。這將是完全乏味的,並涉及大量的硬編碼,並且幾乎不可能將緩動功能應用於(加速/減速)。這樣做的最好方法是什麼?

謝謝!

回答

1

我想一些與模板雜耍,你可以使用LoopingSelector來實現你的期望。有一個偉大的series of posts on WindowsPhoneGeek.com討論它。

底層prinicple是相同的,你有一個循環數據集,它只是一個改變方向的例子,以便它水平滾動而不是垂直滾動。

+0

我做了一個快速搜索,它看起來像LoopingSelector沒有提供水平滾動選項..所以這可能不會工作。你還有其他建議嗎? – 2011-03-12 11:17:28

+0

那麼,你的部分和一些自定義模板的一點創意應該能夠做到這個把戲:) – 2011-03-12 17:48:44

1

你正在尋找幾乎可以使用旋轉控制來實現的效果 - Endless Pivot Control

或者有事情的幾個開源實現,有點像蘋果的CoverFlow - 例如http://sigurdsnorteland.wordpress.com/2010/09/19/wp7-samples-upgraded-to-rtm/

+0

嗯,但樞軸控制是使用整頁樞軸..我只需要幾個圖像飛過屏幕。什麼樣的控制會對此有所幫助? – 2011-03-12 11:42:42

+0

我會研究coverflow控件,但是我不確定它是否允許循環無限容易,或者當我開始非常快速和持續地動畫動畫時,它會滯後。 – 2011-03-12 11:43:57

相關問題