0

現在、すべてのページで単純な 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 に格納し、新しいページ アニメーションを格納されたタイムスパンに設定し、残したところから開始することでした。ある程度動作しますが、カクつきが目立ちます。

独自のスレッドでアニメーションを実行することを考えましたが、これが可能かどうか、可能であれば方法がわかりません。

4

1 に答える 1

0

最善の方法は、マスター ページをさまざまな部分に分割することです。1 つはそのコントロールを保持する場所、もう 1 つはユーザーがナビゲートするときに新しいコントロールを配置する場所です。アニメーションの現在の状態で設定したグローバル変数がある場合でも、SLA が設定されていない限り、新しいページが読み込まれるまでに数秒かかる場合があります。ユーザーに滑らかな感触を与えたかった。

アップデート:

このようなもの:

ここに画像の説明を入力

新しいコンテンツを [新しいユーザー コントロール] ペインにロードします。

于 2013-03-29T16:06:42.320 に答える