Xamarin.Forms + Prism,整理页面导航跳转流程

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接口)

扫描二维码关注公众号,回复: 5135144 查看本文章

断点进入顺序:

  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

猜你喜欢

转载自www.cnblogs.com/MrEggplant/p/10342950.html