页面导航

win8中是没有对话框的概念的,不同的界面是不同的页面,类似于网页,通过Frame.Navigate(typeof(Page),obj参数)来在不同的页面间导航。

Frame属性的方法:GoBack()后退;GoForward()前进;CanGoBack属性判断是否可以后退。

后台中调用:(Frame就是Page的一个属性)

<pre name="code" class="csharp">Frame.Navigate(typeof(myPage));
Frame.GoBack();

 

传参数:

//传参数
Frame.Navigate(typeof(myPage),1);
//获取参数
int i = (int)e.Parameter;

页面导航默认是不启用缓存,也就是后退以后前一个页面恢复成原始状态,需要在构造函数中执行:(启用缓存选项

NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;

三个和页面导航相关的虚方法:(重写虚方法)

OnNavigatedTo:当页面成为活动页面时调用。e.NavigationMode得知是新来的New还是后退进来的Back还是前进来的Forward,一般数据初始化放到OnNavigatedTo中,注意判断Mode

override void OnNavigatedTo()
{
//因为后退回来还会触发。所以需要判断只有是新进入的New,才加载数据
 if(e.NavigationMode == NavigationMode.Back){//加载数据}
}

OnNavigatedFrom:当页面不再是活动页面时调用

OnNavigatingFrom:在页面即将不再是活动页面时调用,实现确认是否退出

override void OnNavigatingFrom()
{
e.Cancel = true;//阻止离开页面
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值