Windows Phone 实用开发技巧(9):自定义Windows Phone 页面切换动画
?在Silverlight for Windows Phone ToolKit?中默認中有自帶的頁面Transitions:RollTransition、RotateTransition、SlideTransition、SwivelTransition、TurnstileTransition。大家如果查看源代碼,會發(fā)現這些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。 運行程序,會發(fā)現頁面切換效果
PS:如果大家的頁面有背景顏色,在切換頁面的時候可能會出現黑屏或者白屏的情況,因為在Windows Phone 中Pages都是放在一個容器中的,而容器的背景顏色是綁定當前系統(tǒng)的主題的顏色,所以大家可以修改為背景顏色相近的顏色,以提供更好的用戶體驗。
修改方法為在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
轉載于:https://blog.51cto.com/alexis/591421
總結
以上是生活随笔為你收集整理的Windows Phone 实用开发技巧(9):自定义Windows Phone 页面切换动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OverLoad与override的区别
- 下一篇: iphone软件创富密码之关于Cocoa