I have been trying to implement page transitions within my WP7 app and have been using the transitions with the Windows phone toolkit. I have set them up as a style within APP.XAML and then setting this same style within a couple of pages. Code is shown below.
Navigating forward, the page jumps a little before the transition occurs. Going backwards is fine and its nice and smooth. The same occurs on the emulator and the phone (in 7.0) and occurs in the emulator in 7.1. (Phone is not on 7.1 yet).
It's pretty annoying and detracts from the whole transition.Is this something that I am doing wrong? - Thanks
<Style x:Key="TurnstileTransition" TargetType="phone:PhoneApplicationPage">
<Setter Property="toolkit:TransitionService.NavigationInTransition">
<Setter.Value>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn"/>
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn"/>
开发者_开发问答 </toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</Setter.Value>
</Setter>
<Setter Property="toolkit:TransitionService.NavigationOutTransition">
<Setter.Value>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut"/>
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut"/>
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</Setter.Value>
</Setter>
</Style>
And setup on a page (within the XAml)
Style="{StaticResource TurnstileTransition}"
When targetting Mango, have you tried upgrading to the August 2011 toolkit? There were apparently optimisations made to the transitions.
Are you showing the SystemTray on both pages, or only on one of them? That would greatly affect the transition, and cause the jump.
Also, make sure you always schedule navigation via. the dispatcher. In my experience, that reduced the issues with transitions greatly.
Dispatcher.BeginInvoke(() => NavigationService.Navigate(uriToNavigateTo));
精彩评论