0

Microsoft Phone Controls Toolkitでナビゲーショントランジションを使用しようとしています。その後、私のページにこのスタイルを適用するToolkit NavigationTransitionsが動作しない場合があります

<Style x:Key="ReaderTransitionPageStyle" 
     TargetType="phone:PhoneApplicationPage"> 
    <Setter Property="toolkit:TransitionService.NavigationInTransition"> 
     <Setter.Value> 
      <toolkit:NavigationInTransition> 
       <toolkit:NavigationInTransition.Backward> 
        <toolkit:SlideTransition Mode="SlideDownFadeIn" /> 
       </toolkit:NavigationInTransition.Backward> 
       <toolkit:NavigationInTransition.Forward> 
        <toolkit:SlideTransition Mode="SlideUpFadeIn" /> 
       </toolkit:NavigationInTransition.Forward> 
      </toolkit:NavigationInTransition> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="toolkit:TransitionService.NavigationOutTransition"> 
     <Setter.Value> 
      <toolkit:NavigationOutTransition> 
       <toolkit:NavigationOutTransition.Backward> 
        <toolkit:SlideTransition Mode="SlideDownFadeOut" /> 
       </toolkit:NavigationOutTransition.Backward> 
       <toolkit:NavigationOutTransition.Forward> 
        <toolkit:SlideTransition Mode="SlideUpFadeOut" /> 
       </toolkit:NavigationOutTransition.Forward> 
      </toolkit:NavigationOutTransition> 
     </Setter.Value> 
    </Setter> 
</Style> 

: は、私は、アプリケーションのリソースにスタイルを定義することにより、トピックに関するブログ記事の大半で見られる多少のデフォルトの実装でそれを使用しています。

しかし、遷移はほとんど動作しません。ときには正しく動作することもあります。同じ2つのページ間を前後に移動しても、時にはそれが正しくアニメーション化されることもありますが、まったくまったくアニメーション化されない場合もあります。ページがただちにポップアップします。 それが動作しても、アニメーションは全く流動的ではなく、むしろ遅いです。

ツールキットによって提供される遷移を遅くする通常の理由はありますか? ターゲットページのOnNavigatedToで長い処理をしないでください。

ページ遷移アニメーションを行うための方法はありますか?またはカスタムストーリーボードを使用して他の方法で解決する方法はありますか?

更新:私はHTC Mozartを使って開発していますが、今日は私の同僚のLumia 800を試しましたが、おそらくハードウェアがより強かったからです。しかし、私は今日ストーリーボードを直接使用しようとしています。

更新:ストーリーボードを直接使用しても効果はありませんでしたが、アニメーションはまだ一貫性がなく、吃音です。

+0

これはエミュレータまたはデバイスで発生しますか? –

+0

どちらも同じ動作をします(一貫性がなく、低速です)。 –

答えて

2

ページを読み込んだり読み込んだりすると、レイアウトが複雑になり、処理が複雑になることが考えられます。あなたはページをかなりシンプルにして、読み込みや処理を控えることで確認できます。まだアニメーションが見えない場合は、何が起こっているのか分かりません。それが良くなったら - あなたはperfで作業する必要があります。トランジションアニメーションが完了するまでほとんどの処理を遅らせ、できる限り非同期コール/バックグラウンドスレッド処理に移動します。 CPU使用率についての同期と質素に注意して、

http://blogs.msdn.com/b/slmperf/archive/2011/06/13/off-thread-decoding-of-images-on-mango-how-it-impacts-you-application.aspx

のBackgroundWorkerを使用します。これを参照してください。

+0

チップをありがとう。私はいくつかの最適化でいくつかの進歩を遂げたと思いますが、時にはそれがまったく機能しないことがあるため、私は確信できません。最適化が役に立たない場合は、ストーリーボードを直接使用すると効果的でしょうか? –

+0

私はそう思う –

関連する問題