【原文】http://blog.csdn.net/dyllove98/article/details/9289445
在wp8中加动画和Silverlight一样,也是在xaml中添加storyboard标签,使用关键帧动画,这样就能实现像飞入飞出,翻页这样的效果了。但是写动画是个非常头疼的事,不光要些标签还要在code-behind里重写nevigatefrom和nevigateto等方法,非常麻烦。
但是有windows phone toolkit(在wp7时代应该叫silverlight toolkit)这个东西,一切变得简单了些,在codeplex下载源码,编译,源码里还有很贴心的有各种例子。编译好wptoolkit后在bin下会有两个文件夹 wp7和wp8,打开wp8里面出现了一个Microsoft.Phone.Controls.Toolkit.dll,在项目里添加这个dll的引用。
要在一个页面添加跳转动画效果,只要在页面头部引入
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"然后添加一段代码就可以
<Style x:Key="PageTranstionStyle" 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>
最后在MainPage里面<phone:phoneApplication>里添加Style="{StaticResource PageTranstionStyle}"对app资源的引用。 ok,大功告成了。这样就不用在每个页面里都复制那么长的一段代码,只要加上一句就可以。
wptoolkit里为我们提供了一些比较常用的页面切换效果