在页面导航时 我们可以用 this.NavigationService.Navigate(uri) 来实现,在导航时一般涉及到几个页面之间互相传递数据或者共享数据,

导航和传递数据请见:http://www.cnblogs.com/zouzf/archive/2012/03/19/2406224.html,

共享数据请见:http://www.cnblogs.com/zouzf/archive/2012/03/19/2406914.html

在导航时同时在uri后面添加要传递的数据有个局限,就是只能够传递字符串,是字符串,不是字符串变量,比如你可以传 "aaa" 这个字符串过去,但对于 string s1 = "aaa" ,你没办法把变量s1传过去。共享数据的话建议用 为App类添加public属性、字段 的方式,简单易用。

在页面导航时难免也会用到 OnNavigatingFrom(NavigatingCancelEventArgs e)、OnNavigatedFrom(NavigationEventArgs e) 、 OnNavigatedTo(NavigationEventArgs e) 这三个方法,我们经常会在这三个函数里操作要共享的数据,但有些地方要注意:

OnNavigatingFrom(NavigatingCancelEventArgs e):在页面恰好变为非活动前触发,该函数确保在导航到下一个页面前被触发,可用

if (e.Uri.ToString().Contains(PageName))  来判断将要导航到的页面是否是你所希望的。注: PageName表示页面名称。你可以在里面操作个页面共享的数据,该函数确保这些共享的数据被操作之后才会被下一个页面使用。

OnNavigatedFrom(NavigationEventArgs e) :在页面不是活动页面时触发,但不保证导航到下一个页面前触发!就是程序可能先导航到下一个页面,什么时候有空了再回头来触发这个函数。如果你在这个函数里对一些各页面共享的数据进行赋值,该函数不保证这些共享的数据在下一个页面被使用前会得到该函数对它们的赋值!e.Content 可以获取将要导航到的页面,但由于该函数无法保证在导航到下一个页面前被触发,所以没什么意义,这个函数只能处理一些与其他页面(的数据)无关的操作。

OnNavigatedTo(NavigationEventArgs e):页面成为活动页面时触发,e.Content 表示当前页面。

转载于:https://www.cnblogs.com/zouzf/archive/2012/03/27/2419294.html

关于页面导航和数据传递的简单总结相关推荐

  1. windows phone 学习之页面导航和数据传递

    创建一个windows phone 应用程序,在xaml文件里添加三个按钮和三个textblock,添加一个windows phone 页面(命名为SecondPage),同样也是添加三个按钮和三个t ...

  2. 浅谈ASP中Web页面间的数据传递

    [简 介] 基于Web的动态网页设计必会涉及到页面间的数据传递,文章探讨了ASP设计中常用的Web页面间的数据传递方式,分析各种数据传递方式的使用方法.使用场合及优缺点,其都是设计阶段选择数据传递方式 ...

  3. vue页面跳转数据传递

    vue页面跳转数据传递 方法一: 第一页跳转赋值: toParameter:function(row) { this.$router.push({   path:'cardParameter',   ...

  4. vue 同页面不同组件数据传递

    不用 vuex 同页面不同组件数据传递,用vuex的这篇文章可以忽略! 直接举例: 一个页面有两个组件,其中组件A的数据可以传递到组件B,同理组件B的数据可以传递到组件A, 即AB两个组件可以互相传递 ...

  5. 微信小程序父子页面间得数据传递(对象或者数组)

    1.页面跳转时向子页面传入数据 父页面js goexit() { //跳转方法var data = JSON.stringify(this.data.data.follow) // this.data ...

  6. 小程序:自定义组件的实现方法及自定义组件与页面间的数据传递

    首先我们在pages文件夹下创建components目录用于存放自定义组件.如图所示,以我创建的dialog组件为例,自定义组件的格式与页面一样,分为4个文件.   图1                ...

  7. 微信小程序页面间的数据传递和数据共享

    方法一:利用url 如下代码所示,首先在.wxml文件中找到更多按钮并绑定相应方法,接着通过data-name指定所传参数的名字,如图所传参数名为:category. <view class=& ...

  8. 小程序丨从子页面退回父页面时的数据传递

    在微信小程序中,从父级页面转到下一个页面,一般可以通过navigate或redirect时候的url来携带参数,然后在目标页面的onLoad函数参数中获取这些url参数,可以参考之前写的http:// ...

  9. 微信小程序-页面间如何进行传递数据(通信)

    前言 在小程序中组件与组件之间的通信是通过在引用组件处,在自定义组件上添加自定义属性实现的,子组件内部通过properties进行接收 更多关于组件与组件之间的通信可参考小程序-实现自定义组件以及自定 ...

  10. 小程序页面之间数据传递的四种方法

    近期再使用小程序开发的时候遇到小程序页面和页面之间的数据传递问题.总结一下大致有以下几种方式实现页面数据传递. 最常见的就是路由传参,使用场景主要是页面汇总的少量数据的传递.以下都以Taro+vue示 ...

最新文章

  1. Python 玩出花儿,把罗小黑养在自己桌面
  2. Linux下测试的c++的使用
  3. 关于Warshall、Roy对寻找传递闭包方法的不同表达的探讨
  4. Linux文件系统中的inode节点详细介绍
  5. MySqlClient访问tinyint字段返回布尔值
  6. MySQL触发器简介
  7. BlogEngine(4)---Widget小部件
  8. CSS引入CSS文件不生效 搞得很恼火
  9. mysql如何快速插入一千万条数据_如何快速安全的插入千万条数据?
  10. 前端学习(806):数据类型内存分配
  11. Input 输入设备驱动框架
  12. Dcmtk在PACS开发中的应用(基础篇) 第二章 打印影像(胶片) 作者 冷家锋
  13. 作为程序员的我春节还没抢到票却抢到这玩意儿,也是值了!
  14. CentOS7安装JDK完整步骤
  15. 美国visa虚拟信用卡
  16. kml文件转成cvs_KMZ KML与SHP文件互相转换
  17. 我没有时间 I Don't Have Time?
  18. 小米折叠屏MIX FOLD办公性能再强化,掌上PC模式正式上线
  19. Spring5的IOC容器
  20. SpringBoot2后端项目-验证码图片生成

热门文章

  1. linux sftp 增加用户(centos)
  2. php 简繁体字同时显示_(C++/php/Swift/Go/Ruby 篇)2020 年最火编程语言出炉!关键特性、普及程度、薪资全方位解读...
  3. html手机页面怎么长按不出复制,HTML -----对于手机页面长按会粘贴复制的禁用
  4. flash代码_Flash如何处理常见的代码错误(AS3)(2)
  5. 当前串口号不可以或被占用_原来团建是可以不占用私人时间当然,还可以拿加班费|不一样的团建...
  6. 软件测试测试用例编写 不超过7步骤_软件测试(功能、接口、性能、自动化)详解...
  7. Javascript特效:响应式改变页面背景颜色
  8. Javascript特效:左侧二维码的显示和隐藏
  9. 爬虫:Python爬虫学习笔记之爬虫基础
  10. opencv图像分析与处理(13)- 彩色图像处理基础:彩色模型与伪彩色图像处理