Window Phone 7:页面导航

     在Window Phone开发当中,用NavigationService来控制页面导航,如下代码:

this.NavigationService.Navigate(new Uri("/SecondPage.xaml?name=js",UriKind.Relative));


     让我们来分析一下:Navigate是用于导航的函数

                                         Uri就是类似于网页中网址,包含了页面的地址信息

                                         "/SecondPage.xaml?name=js"地址是什么意思呢?让我们重点关注一下:

                                                          /SecondPage.xaml:就跟Uri第二个参数想对应的,表示页面的相对地址

                                                         ?name=js:表示这地址在传递的时候带一个值,关键字为:name,值为:js

    在这里顺便提一下,是不是跟网页的URL很相似,没错,WP7的页面就是基于Web的基础上开发出来的。相对于android的开发,相当省事!

 

      好,既然页面跳转的时候传值了,那么我们如何在目标页面上获取到这个值呢?看如下代码:

 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            if (NavigationContext.QueryString.ContainsKey("name"))
            {
                textBox1.Text = NavigationContext.QueryString["name"];
            }
        }

      从上面的代码来看,在目标页面上有Navigation相对应的一些函数,我们可以在这个重写的方法中添加上面的代码,就可以获取到【name】的值了      在这也介绍一个这个重写的函数:【OnNavigatedTo】,也就是【navigate to me】的意思:从另外一个页面跳转到当前页面!当然还有一个相对应的函数:

  protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
        {
            base.OnNavigatedFrom(e);
        }

      【OnNavigatedFrom】,这表示【navigate from me】:从当前页面跳转到另外一个页面!
  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章