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. docker 常用启动命令

    数据库 # mongo sudo docker run -d -p 27017:27017 -v mongo_configdb:/data/configdb -v mongo_db:/data/db ...

  2. centos 搭建git服务器和客户端

    参考资料:http://blog.feehi.com/linux/124.html 1.搭配环境 2.安装git 3.创建git用户 4.创建裸库 5.配置公钥匙 6.客户端clone代码库 1.搭配 ...

  3. React(六)Props属性

    state 和 props 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变.这就是为什么有些容器组件需要定义 state 来更新和修改数据. 而子组件只能通过 pro ...

  4. [LeetCode] Random Pick with Weight 根据权重随机取点

    Given an array w of positive integers, where w[i] describes the weight of index i, write a function  ...

  5. [LeetCode] Implement Rand10() Using Rand7() 使用Rand7()来实现Rand10()

    Given a function rand7 which generates a uniform random integer in the range 1 to 7, write a functio ...

  6. error MSB8020 问题解决

    产生原因: 1.vs 版本过低 2.项目平台工具选择不正确 解决方案: 1.安装VS2015以上的版本 2.选择项目属性,修改平台工具,选择当前版本可用的工具. 具体步骤:右键点击你的项目,选择 Pr ...

  7. Nginx 自定义404、500、502 页面

    利用nginx的反向代理来实现 服务器404 和500 等状态码的自定义页面 1.nginx配置文件 nginx.conf 配置开启代理错误拦截 和配置页面  下划线部分  http { ...... ...

  8. DevPress GridControl的使用

      XtraGrid使用方法 XtraGrid的关键类就是:GridControl和GridView.GridControl本身不显示数据,数据都是显示在GridView/CardView/XXXXV ...

  9. es7 async/await使用

    先创建一个promise对象,里面执行一个异步函数 function fetchUser() { return new Promise((resolve, reject) => { fetch( ...

  10. Troubleshooting tips for using Java on Windows 8

    This article applies to: Platform(s): Windows 8 Will Java run in Start screen on Windows 8? Microsof ...