快捷搜索:

Windows Phone 实用开发技巧(9):自定义Windows Ph

在Silverlight for Windows Phone ToolKit 中默认中有自带的页面Transitions:RollTransition、RotateTransition、SlideTransition、SwivelTransition、TurnstileTransition。大年夜家假如查看源代码,会发明这些Transition都是承袭自TransitionElement,然后定义一些特定的Mode去调用不合的StoryBoard去实现页面切换效果,于是我们可以定义自己的Transition类,承袭自TransitionElement,调用自己定义的StoryBoard。

下图可以方便大年夜家理解Toolkit中默认的Forward、Backward、In、Out的流程

下面我们就来自定义Page Transition:

1. 首先,必要将App.xaml.cs中InitializePhoneApplication RootFrame改为RootFrame = new TransitionFrame();//set to transition

2. 添加对ToolKit的引用,添加类MyTransition,该类承袭自 TransitionElement,详细代码如下

3.编辑MainPage.xaml,添加ToolKit的名称空间 xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

4.向MainPage中添加页面资本,即我们定义的StoryBoard,具体代码见源代码

5.添加如下代码,以增添页面切换效果

6.添加第二个命名,做法同MainPage,不合的是改动StoryBoard 以显示不合的切换效果

7。 运行法度榜样,会发明页面切换效果

PS:假如大年夜家的页面有背景颜色,在切换页面的时刻可能会呈现黑屏或者白屏的环境,由于在Windows Phone 中Pages都是放在一个容器中的,而容器的背景颜色是绑定当前系统的主题的颜色,以是大年夜家可以改动为背景颜色邻近的颜色,以供给更好的用户体验。

改动措施为在App.xaml.cs中 RootFrame = new TransitionFrame();//set to transition

下一行代码中设置RootFrame的背景颜色即可

源代码下载

参考http://blogs.msdn.com/b/benwilli/archive/2011/02/04/custom-page-transitions-in-wp7.aspx

转自:http://www.cnblogs.com/alexis/archive/2011/06/19/2084562.html

您可能还会对下面的文章感兴趣: