我目前正在構建一個應用程序,它可以在所有頁面中使用簡單的xaml動畫。跨頁面同步動畫
這裏是動畫
<Storyboard x:Name="raysSpin">
<DoubleAnimation Duration="0:0:6.0" To="360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="sunRays" RepeatBehavior="Forever"/>
</Storyboard>
以上的動畫是在應用中的所有頁面的XAML。現在,當用戶導航到下一頁時,我需要讓這個動畫在所有頁面中保持同步,以便看起來用戶沒有進入不同的頁面。無論動畫在時間軸上的哪個位置,都需要在新頁面動畫上設置該位置,並從我們離開的位置開始。
有沒有人知道或有任何想法如何以有效的方式執行此操作?
我的第一個也是唯一的想法是將動畫的時間範圍存儲到存儲在app.xaml.cs中的全局變量中,然後在每個頁面的onNativgatedTo中,將新頁面動畫設置爲存儲的時間範圍,並從那裏開始我們離開了它。它在一定程度上起作用,但有明顯的口吃。
我曾想過在自己的線程上運行動畫,但我不知道這是否可行,如果是這樣,如何去做。
這聽起來像個不錯的主意,將會研究它。謝謝。 –
這是最好的辦法。只有一個頁面,並使用用戶控件來顯示新內容。高興地幫助:) – Marco
只是一個簡短的問題馬可,所以我得到我的頭。是否可以保留子頁面的導航堆棧?我解釋你的答案的方式是,你有一個母版頁,我的背景和動畫部分,然後是一個部分來保存應用程序所需的單個頁面?有點像這樣http://reflectionit.nl/Blog/2013/windows-8-xaml-tips-master-pages –