Transicions animades entre pàgines de Windows Phone

Amb el Windows Phone Toolkit tenim la possibilitat de poder assignar animacions (no moltes) entre les transicions de les pàgines.
Un cop instal·lar el toolkit que ho hem de fer amb el NuGet, que realment va molt i molt bé, i assignat una animació a la transició a la pàgina amb el següent codi XAML:

<phone:PhoneApplicationPage
x:Class=”PhoneApp1.Page1″
xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml&#8221;
xmlns:phone=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone”
xmlns:shell=”clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone”
xmlns:toolkit=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit”
FontFamily=”{StaticResource PhoneFontFamilyNormal}”
FontSize=”{StaticResource PhoneFontSizeNormal}”
Foreground=”{StaticResource PhoneForegroundBrush}”
SupportedOrientations=”Portrait” Orientation=”Portrait”
shell:SystemTray.IsVisible=”True”>

<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode=”BackwardIn”/>
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode=”ForwardIn”/>
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode=”BackwardOut”/>
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode=”ForwardOut”/>
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>

<Grid x:Name=”LayoutRoot” Background=”Transparent”>
<Grid.RowDefinitions>
<RowDefinition Height=”Auto”/>
<RowDefinition Height=”*”/>
</Grid.RowDefinitions>

<StackPanel Grid.Row=”0″ Margin=”12,17,0,28″>
<TextBlock Text=”MY APPLICATION” Style=”{StaticResource PhoneTextNormalStyle}”/>
<TextBlock Text=”page name” Margin=”9,-7,0,0″ Style=”{StaticResource PhoneTextTitle1Style}”/>
</StackPanel>

<Grid x:Name=”ContentPanel” Grid.Row=”1″ Margin=”12,0,12,0″>
<Button x:Name=”ClickMe” HorizontalAlignment=”Center” Click=”ClickMe_OnClick”>Click Me</Button>
</Grid>
</Grid>

</phone:PhoneApplicationPage>
L’única cosa que ens queda llavors és canviar aquesta línia del App.xaml.cs per tal de que en lloc d’utilitzar el Frame que hi ha per defecte s’utilitzi el que porta el Toolkit


//RootFrame = new PhoneApplicationFrame();
RootFrame = new TransitionFrame();

Més informació:

How to create Transition animation in Windows Phone Toolkit?