Windows phone中如何添加页面跳转动画
来源:互联网 发布:罗马军团到中国 知乎 编辑:程序博客网 时间:2024/04/29 09:49
有没有羡慕ios平台中华丽的动画效果,不用担心微软的toolkit团队为我们为我们提供了这样一套组件,叫做TransitionServices服务。
简单说一下它具备的效果:turnstile(轴旋转效果);turnstile feather(羽毛式轴旋转效果);continuum(继承动画效果);slide(滑动效果);rotate(旋转效果)。这里我们实现一下Turnstile效果:
接下来我介绍一下使用过程(这里实现一个全局的跳转动画,某个页面需要动画效果时直接添加style属性就可以了):
首先毋庸置疑我们要下载Silverlight for Windows Phone Toolkit (没有Windows phone Toolkit的可以去http://silverlight.codeplex.com/releases/view/55034/ 进行下载):
因为想实现全局都可以调用的动画,于是我们可以在App.xaml中实现我们的想法。
1.首先将Toolkit引用进来:在Application中加入 xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" 即可:如图
2.在 <Application.Resources>中添加一个动画样式(Style标签中的便是):
<!--应用程序资源--> <Application.Resources> <local:LocalizedStrings xmlns:local="clr-namespace:MeeTu" x:Key="LocalizedStrings"/> <UriMapper:UriMapper x:Name="mapper"> <UriMapper:UriMapping Uri="/MainPage.xaml" /> </UriMapper:UriMapper> <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> <Setter Property="Background"> <Setter.Value> <ImageBrush ImageSource="/Images/bg2.png"/> </Setter.Value> </Setter> </Style> </Application.Resources>
3.这一点很重要,我们需要在App.xaml.cs文件中修改下东西,以便于我们的动画能被调用。
在cs文件中找到"RootFrame = new PhoneApplicationFrame();" 也就是PhoneApplicationFrame的实例化方法,
我们将它改成:"RootFrame = new TransitionFrame();" 这样我们的框架就成为了一个可以有跳转动画的框架了。
4.接下来就是调用了,这个很简单直接在想用动画的页面里加上这个style就可以了: Style="{StaticResource PageTranstionStyle}":如图:
<phone:PhoneApplicationPage x:Class="MeeTu.Message.SendMessagePage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" mc:Ignorable="d" Style="{StaticResource PageTranstionStyle}" shell:SystemTray.IsVisible="False"> <!--LayoutRoot 是包含所有页面内容的根网格--> <Grid x:Name="LayoutRoot"> <Grid.Background> <ImageBrush ImageSource="/Images/bg2.png"/> </Grid.Background> </Grid> <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Mode="Default" BackgroundColor="Black" ForegroundColor="White"> <shell:ApplicationBarIconButton Text="send" IconUri="/Icons/check.png" Click="ApplicationBarIconButton_Click_Send" /> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="Settings" /> <shell:ApplicationBarMenuItem Text="Profile" /> <shell:ApplicationBarMenuItem Text="Sign out" /> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar></phone:PhoneApplicationPage>
最后:除了自带的这些动画效果外,我们同样可以自定义动画,这个我以后再同大家分享。
- Windows phone中如何添加页面跳转动画
- Windows Phone 7两个页面动画跳转
- Windows Phone 7 - 页面跳转
- Windows Phone 页面间跳转
- Windows Phone页面跳转 导航
- Windows Phone在导航中移除页面进行跳转
- Windows Phone 页面导航动画
- 如何将地图控件添加到 Windows Phone 8 中的页面中
- Windows Phone 8.1中页面导航切换动画特效
- WP7中为页面跳转添加动画效果
- Windows Phone 页面跳转事件调用顺序
- windows phone 7 页面间跳转方法
- windows phone关于页面跳转的总结
- [windows phone开发]页面切换动画
- windows phone 8 mvvmlight页面跳转类(NavigateCommand)
- 页面中添加flash动画。
- Windows Phone 7中添加上下文菜单
- Windows Phone开发中页面用法解析
- Java设计模式之策略模式代码示例
- android 在连拍菜单中,增加连拍张数选项
- J2EE编写代码过程中的分包策略讨论
- android自定义TabWidget
- 在 Linux中oracle中如何使用rlwrap解决上下键使用出现乱码
- Windows phone中如何添加页面跳转动画
- 11137 - Ingenuous Cubrency
- C++中继承技术引发的问题:重载(overload),覆盖(override)和隐藏(hide)的区别
- Code Sign error: Provisioning profile '6805769A-5085-4BE7-B9D1-2859CD2CBE9E' can't be found
- 硬件公司构建平台战略的思考
- 如何校正使用笔记本电脑电池?
- Mina实现自定义协议的通信
- 使用ajax让session永不过期
- HTML CSS 概要