3个Page,Page1 -> Page2 -> Page3 -> Page2 -> Page1。

PageViewModel实现接口:INavigatingAware, INavigatedAware, IDestructible

断点位置:

Page:

  构造函数

PageViewModel:

  构造函数、

  Page.Appearing事件(EventToCommand)、Page.Disappearing事件(EventToCommand)、

  OnNavigatingTo方法(INavigatingAware接口)、OnNavigatedTo方法(INavigatedAware接口)、OnNavigatedFrom方法(INavigatedAware接口)、

  Destroy方法(IDestructible接口)

断点进入顺序:

  1、Page1,构造函数

  2、Page1ViewModel,构造函数

  3、Page1ViewModel,OnNavigatingTo

  4、Page1ViewModel,OnNavigatedTo

  5、Page1,Appearing

跳转到Page2

  6、Page2,构造函数

  7、Page2ViewModel,构造函数

  8、Page2ViewModel,OnNavigatingTo

  9、Page1,Disappearing

  10、Page2,Appearing

  11、Page1ViewModel,OnNavigatedFrom

  12、Page2ViewModel,OnNavigatedTo

跳转到Page3

  13、Page3,构造函数

  14、Page3ViewModel,构造函数

  15、Page3ViewModel,OnNavigatingTo

  16、Page2,Disappearing

  17、Page3,Appearing

  18、Page2ViewModel,OnNavigatedFrom

  19、Page3ViewModel,OnNavigatedTo

返回到Page2

  20、Page2ViewModel,OnNavigatingTo(使用NavigationService.GoBackAsync时触发,使用硬件返回按钮、NavigationPage返回按钮时不触发)

  21、Page3,Disappearing

  22、Page2,Appearing

  23、Page3ViewModel,OnNavigatedFrom

  24、Page2ViewModel,OnNavigatedTo

  25、Page3ViewModel,Destroy

返回到Page1

  26、Page1ViewModel,OnNavigatingTo(使用NavigationService.GoBackAsync时触发,使用硬件返回按钮、NavigationPage返回按钮时不触发)

  27、Page2,Disappearing事件

  28、Page1,Appearing事件

  29、Page2ViewModel,OnNavigatedFrom

  30、Page1ViewModel,OnNavigatedTo

  31、Page2ViewModel,Destroy

使用硬件返回按钮,返回到桌面

  32、Page1,Disappearing

Xamarin.Forms + Prism,整理页面导航跳转流程的更多相关文章

  1. Xamarin.Forms的基本页面和基本视图

    Xamarin.Forms的基本页面和基本视图   在Xamarin.Forms中,每个App的界面都是一个页面Page.页面的种类有很多种.其中,最常见的页面就是内容页面ContentPage.项目 ...

  2. 【Xamarin.Forms 3】页面类型

    系列目录 微信 1.[Xamarin.Forms 1]App的创建与运行 2.[Xamarin.Forms 2]App基础知识与App启动 知乎 1.[Xamarin.Forms 1]App的创建与运 ...

  3. Xamarin.Forms+Prism(1)—— 开发准备

    本次随笔连载,主要用于记录本人在项目中,用Xamarin.Forms开发APP中所使用的第三方技术或一些技巧. 准备: 1.VS2017(推荐)或VS2015: 2.JDK 1.8以上: 3.Xama ...

  4. Xamarin.Forms+Prism(3)—— 简单提示UI的使用

    这次给大家介绍两个比较好用的提示插件,如成功.等待.错误提示. 准备: 1.新建一个Prism Xamarin.Forms项目: 2.右击解决方案,添加NuGet包: 1)Acr.UserDialog ...

  5. LINKs: Xamarin.Forms + Prism

    LINK 1 - How to use Prism with Xamarin.Forms http://brianlagunas.com/first-look-at-the-prism-for-xam ...

  6. Xamarin.Forms+Prism(2)—— 基本使用 NavigationService 相对路径和绝对路径

    本文主要对Prism框架下的导航服务NavigationService进行一次介绍和使用. 1.打开VS,可以看到左侧的已安装模版里面有: 2.创建完成后,从PCL项目中,看到App.xaml.cs中 ...

  7. 【Xamarin 开发 IOS --IOS 页面导航概念Segue】

    Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom 一.视图切换类型介绍在storyboard中,segue有几种不同的类型, ...

  8. Xamarin.Forms(二) 返回页面的数据刷新

    这几天在做一个课程表的小程序,遇到了这样一个问题: app打开便是课程表的页面,如果课程表页面没有数据的话需要跳转到同步课表页面模拟登陆教务管理系统获取课表,并显示在课程表页面,这样就需要从同步课表页 ...

  9. Xamarin.Forms入门学习路线

    Xamarin 介绍 Xamarin是一套跨平台解决方案,目的是使用C#语言创造原生的iOS,Android,Mac和Windows应用. Xamarin的三个优势: Xamarin App拥有原生A ...

随机推荐

  1. CSS(四)

    css元素溢出 当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置. overflow的设置项: 1.visible 默认值.内容不会被 ...

  2. jquery for循环判断是否重复

    //使用for循环 判断是否有重名 var len=$("li").length;//获取页面中所有li的数量 for(var i=0; i<len; i++){ oldna ...

  3. MFC版链表实现稀疏多项式相加减

    链表实现多项式运算(加减)MFC可视化版 题目 设计一个一元稀疏多项式简单计算器. 基本要求 (1)输入并建立两个多项式: (2)多项式a与b相加,建立和多项式c: (3)多项式a与b相减,建立差多项 ...

  4. JS-对象的数据重复

    <title>01-对象中数据的重复</title> <script type="text/javascript"> var arr = []; ...

  5. 洛谷P3388 【模板】割点(割顶)

    题目背景 割点 题目描述 给出一个n个点,m条边的无向图,求图的割点. 输入输出格式 输入格式: 第一行输入n,m 下面m行每行输入x,y表示x到y有一条边 输出格式: 第一行输出割点个数 第二行按照 ...

  6. Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.

    运行代码时,一直报错: 经过查询后才知道,vue模板只能有一个跟对象 我是这样写的 最后修改为 就可以正常运行了

  7. 微信开发基于springboot

    0.申请一个微信公众号,记住他的appId,secret,token,accesstoken 1.创建一个springboot项目.在pom文件里面导入微信开发工具类 <dependency&g ...

  8. oracle连表语法

    1.笛卡尔积 (表一乘以表二) (表连接建立在笛卡尔积上过滤) select * from emp,dept; 2.等值连接 (表与表之见有相同的列表) select ename,dname from ...

  9. mysql数据类型和基础语句

    阅读目录 转载 https://www.cnblogs.com/Eva-J/articles/9683316.html 数值类型 日期时间类型 字符串类型 ENUM和SET类型 返回顶部 数值类型 M ...

  10. java程序如何正确的打日志

    什么是日志 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题. 我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能 ...