首页  ·  知识 ·  移动开发
WindowPhone(Xaml)中的导航(Navigation)
音乐啤酒    Wphone  编辑:dezai   图片来源:网络
WindowPhone(Xaml)中的导航(Navigation)
航(Navigation)
 
Window Phone的导航可以让用户从一个页面导航另外一个页面,在不同的页面之间进行连接跳转。
 
1。Frame和Page
 
Window Phone的导航模型基于 PhoneApplicationFrame。 PhoneApplicationFrame控件包含了一个或多个 PhoneApplicationPage,可以使我们在不同的Page之间进行导航和跳转到不同的页面。
 
PhoneApplicationPage 页面可以简单的认为是手机一个屏幕上内容,可以包含其他控件和内容。类似于winform中的一个From,也类似于html中的一个html页面
 
2.在不同Pages之间的导航。
 
在不同Page之间导航,最简单的控件是 HyperlinkButton。给这个控件的NavigateUri的属性赋值,就可以导航到特定的页面去,很简单
 
<HyperlinkButton NavigateUri="/SecondPage.xaml" />
 
或者使用NavigationService类,这个类提供一些方法,属性和事件来完成导航工作
 
代码
 
NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.RelativeOrAbsolute));
 
NavigationService.GoBack这个方法可以退回到上一页
 
 3.在源页面和目标页面之间传递数据
 
传递数据的方式和html的get方式传值很类似
 
 
 
在Page1页面的按钮事件中写如下代码:
 
NavigationService.Navigate(new Uri("/Page1.xaml?msg=helloworld", UriKind.RelativeOrAbsolute));
 
问号?msg=helloworld,这样就可以传值。多个使用&分割
在目标页面Page2页面中读取这些参数,需要重写Page.OnNavigatedTo 这个方法,代码如下:
 
 
 
 
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
      {
          base.OnNavigatedTo(e);
          string msg = "";
 
          //这个方法获取所有的传入参数,使用key-value对应的模式
          IDictionary<string, string> param = NavigationContext.QueryString;
 
          //这个方法只获取某个特定key对应的value值
          if (NavigationContext.QueryString.TryGetValue("msg",out msg))
          {
              this.Msg.Text = msg;
          }
      }
 
本文作者:音乐啤酒 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读