現在、すべてのページで単純な xaml アニメーションを使用するアプリケーションを構築しています。
アニメーションの 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>
上記のアニメーションは、アプリ内のすべてのページにあります。ユーザーが次のページに移動したときに、ユーザーが別のページに移動していないように見えるように、すべてのページでこのアニメーションを同期させる必要があります。アニメーションは、タイムラインのどこにあるかに関係なく、新しいページ アニメーションでその位置を設定し、中断したところから開始する必要があります。
これを効率的な方法で実行する方法について、誰かが知っているか、アイデアを持っていますか?
私の最初で唯一のアイデアは、アニメーションのタイムスパンを app.xaml.cs に格納されたグローバル変数に格納し、次に各ページの onNativgatedTo に格納し、新しいページ アニメーションを格納されたタイムスパンに設定し、残したところから開始することでした。ある程度動作しますが、カクつきが目立ちます。
独自のスレッドでアニメーションを実行することを考えましたが、これが可能かどうか、可能であれば方法がわかりません。