Windows Phone 实用开发技巧(9):自定义Windows Phone 页面切换动画
?在Silverlight for Windows Phone ToolKit?中默認(rèn)中有自帶的頁(yè)面Transitions:RollTransition、RotateTransition、SlideTransition、SwivelTransition、TurnstileTransition。大家如果查看源代碼,會(huì)發(fā)現(xiàn)這些Transition都是繼承自TransitionElement,然后定義一些特定的Mode去調(diào)用不同的StoryBoard去實(shí)現(xiàn)頁(yè)面切換效果,于是我們可以定義自己的Transition類,繼承自TransitionElement,調(diào)用自己定義的StoryBoard。
?
?下圖可以方便大家理解Toolkit中默認(rèn)的Forward、Backward、In、Out的流程
?
下面我們就來自定義Page Transition:
1. 首先,需要將App.xaml.cs中InitializePhoneApplication RootFrame改為RootFrame?=?new?TransitionFrame();//set?to?transition
2. 添加對(duì)ToolKit的引用,添加類MyTransition,該類繼承自?TransitionElement,具體代碼如下
?
3. ?編輯MainPage.xaml,添加ToolKit的名稱空間?xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
4. ?向MainPage中添加頁(yè)面資源,即我們定義的StoryBoard,詳細(xì)代碼見源代碼
5. ?添加如下代碼,以增加頁(yè)面切換效果
?
6. ?添加第二個(gè)命名,做法同MainPage,不同的是修改StoryBoard 以顯示不同的切換效果
7。 運(yùn)行程序,會(huì)發(fā)現(xiàn)頁(yè)面切換效果
PS:如果大家的頁(yè)面有背景顏色,在切換頁(yè)面的時(shí)候可能會(huì)出現(xiàn)黑屏或者白屏的情況,因?yàn)樵赪indows Phone 中Pages都是放在一個(gè)容器中的,而容器的背景顏色是綁定當(dāng)前系統(tǒng)的主題的顏色,所以大家可以修改為背景顏色相近的顏色,以提供更好的用戶體驗(yàn)。
修改方法為在App.xaml.cs中?RootFrame?=?new?TransitionFrame();//set?to?transition
下一行代碼中設(shè)置RootFrame的背景顏色即可
?
源代碼下載:?
?參考http://blogs.msdn.com/b/benwilli/archive/2011/02/04/custom-page-transitions-in-wp7.aspx
轉(zhuǎn)載于:https://blog.51cto.com/alexis/591421
總結(jié)
以上是生活随笔為你收集整理的Windows Phone 实用开发技巧(9):自定义Windows Phone 页面切换动画的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OverLoad与override的区别
- 下一篇: java信息管理系统总结_java实现科