winrt下NavigatTo、NavigatedFrom、NavigatingFrom、Loaded运行先后次序
来源:互联网 发布:c语言实型用什么表示 编辑:程序博客网 时间:2024/05/22 10:33
当程序由不运行状态进入运行状态首先执行App的初始化工作,也就是App.xaml.cs的实例化
当App实例化成功之后由会自动调用App.OnLaunched方法
而OnLaunched中
if(!rootFrame.Navigate(typeof(MainPage), e.Arguments)){throw new Exception("Failed to create initial page");}
就是导航最先开始的地方,它首先会实例化MainPage页面,调用MainPage.xaml.cs中的构造函数
当MainPage页面初始化完毕,App会进入后台则算开始了正式的导航
在win8.1/wp8.1中页面导航有3个触发函数
OnNavigatedTo、OnNavigatingFrom、OnNavigatedFrom
第一个To函数是导航到哪个页面,就执行哪个页面的To函数
OnNavigatingFrom和OnNavigatedFrom都是是触发导航之前的页面的函数,这2个函数不会因为页面或程序进入后台而触发(比如点击win键)
OnNavigatingFrom是当导航开始但是还没有发生就会触发,而OnNavigatedFrom是导航结束才会触发
所以以上从网上下依次为
1、App() App的初始化
2、App.Launched App开始运行,可以理解为激活
3、App.OnNavigatingFrom 准备开始导航,也是程序第一次开始导航,只会触发一次(可以在App.Launched中添加如下rootFrame.Navigating += this.RootFrame_FirstNavigating;这个一般系统不会自动添加)
4、MainPage() 假如App.Launched中设置首页为MainPage的话,构造函数,假如缓存模式设置为disabled每一次导航都会重新实例化这个对象,假如设置为enable或者required则不会
5、App.OnNavigatedFrom 导航后触发的函数,这个函数程序只会触发一次,因为在App中
6、MainPage.OnNavigateTo 导航完成触发的函数
7、Loaded 假如Xaml中Page控件中指定了Loaded函数
假如Page1到Page2的导航所执行的顺序为
Page1的OnNavigatingFrom
实例化Page2,假如为NavigatedCacheMode = disabled; 假如为required则没有这一步
Page1的OnNavigatedFrom
Page2的OnNavigateTo
Page2的Loaded,假如指定了Loaded,否则没有这一步
注意,将程序退到后台并不会触发OnNavigatedFrom、OnNavigatingFrom、OnNavigateTo方法
- winrt下NavigatTo、NavigatedFrom、NavigatingFrom、Loaded运行先后次序
- 初始化块、静态初始化块、构造器运行的先后次序
- javascript得先后次序问题以及Ajax
- 总结Java类的初始化先后次序
- Jenkins + Android/WinRT 运行单元测试
- fstream的close与clear先后次序的问题
- WinRT
- 设置对话框出现次序,不用按钮下设置,运行对话框1 ,对话框类2 。
- WinRT下的RSA加解密方法
- JS中函数运行的执行次序
- vc++2005运行出现Loaded 'xxx.dll', No symbols loaded.
- 关于'类的构造函数'和'该类的成员变量构造函数'调用的先后次序
- 要提高SQL查询效率where语句条件的先后次序应如何写
- CWinApp::OnFileOpen函数按照先后次序具体执行了哪些行为
- 要提高SQL查询效率where语句条件的先后次序应如何写
- 要提高SQL查询效率where语句条件的先后次序应如何写
- 要提高SQL查询效率where语句条件的先后次序应如何写
- 要提高SQL查询效率where语句条件的先后次序应如何写
- 时间序列分析——ARIMA模型预测(R)
- java枚举使用详解
- #6 ZigZag Conversion
- c++基础编程 之 string
- LeetCode——Balanced Binary Tree
- winrt下NavigatTo、NavigatedFrom、NavigatingFrom、Loaded运行先后次序
- SoapUI利用Groovy把外部数据加载到request中
- 树状数组(一维)例题 HDU——1166敌兵布阵
- #7 Reverse Integer
- windows下eclipse android开发环境的搭建
- \r 和 \n 的区别
- leetcode 1 Two Sum
- 关于互联网的隐私与用户友善
- Git 分布式版本控制系统(四) ---分支管理