heberoxx 发表于 2015-5-13 07:01:00

Windows Phone 7两个页面动画跳转

  两个页面之间创建带有动画的过渡效果基本步骤:
  ①截获当前任何表明用户正在离开当前页面的操作
  ②启动一个动画故事板来隐藏当前页面
  ③导航到下一个页面
  ④截获新页面的导航
  ⑤启动一个动画故事板来显示新页面
  
  首先新建一个Windows Phone的应用程序
  MainPage.xaml里面的动画效果代码:



1
2         
3            
6               
7               
8            
9            
12               
13               
14            
15         
16   
17   
18         
19   

复制代码  然后拖一个Button控件,并触发Click事件,导航到Page1.xaml



1 private void button1_Click(object sender, RoutedEventArgs e)
2         {
3             this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative));
4         }

复制代码  在MainPage.xaml.cs里面重写OnNavigatingFrom方法:



1 protected override void OnNavigatingFrom(System.Windows.Navigation.NavigatingCancelEventArgs e)
2         {
3             base.OnNavigatingFrom(e);
4
5             if (UriToNavigateTo == null)
6             {
7               e.Cancel = true;
8               UriToNavigateTo = e.Uri;
9               this.HidePage.Begin();
10               this.HidePage.Completed += new EventHandler(HidePage_Completed);
11             }
12             else
13             {
14               UriToNavigateTo = null;
15             }
16         }
17
18         private void HidePage_Completed(object sender, EventArgs e)
19         {
20             this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative));
21         }

复制代码  接着新建一个WindowsPhone页面Page1.xaml
  Page1.xaml的动画效果代码如下:



1
2         
3            
6               
7               
8            
9            
12               
13               
14            
15            
18               
19               
20            
21         
22   
23   
24         
25   

复制代码  然后在Page1.xaml.cs的初始化函数里写如下代码:



1 public Page1()
2         {
3             InitializeComponent();
4
5             this.DisplayPage.Begin();
6         }

复制代码  就这样,一个最基本的两个页面动画跳转效果就做好了
页: [1]
查看完整版本: Windows Phone 7两个页面动画跳转