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


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

    PageViewModel实现接口:IPageLifecycleAware、INavigatedAware、IDestructible

    接口说明:

    IPageLifecycleAware:Page Lifecycle | Prism

    INavigatedAware:Passing parameters - INavigationAware | Prism

    IDestructible:Creating Your First Prism App - Anatomy of a Prism Application | Prism 

    断点位置:

    Page:

      构造函数

    PageViewModel:

      构造函数、

      OnAppearing方法(IPageLifecycleAware接口)、OnDisappearing方法(IPageLifecycleAware接口)、

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

      Destroy方法(IDestructible接口)

    断点进入顺序:

        1、Page1 - 构造函数

        2、Page1ViewModel - 构造函数

        3、Page1ViewModel - OnNavigatedTo

        4、Page1ViewModel - OnAppearing

    跳转到Page2

        5、Page2 - 构造函数

        6、Page2ViewModel - 构造函数

        7、Page1ViewModel - OnDisappearing

        8、Page2ViewModel - OnAppearing

        9、Page1ViewModel - OnNavigatedFrom

      10、Page2ViewModel - OnNavigatedTo

    跳转到Page3

      11、Page3 - 构造函数

      12、Page3ViewModel - 构造函数

      13、Page2ViewModel - OnDisappearing

      14、Page3ViewModel - OnAppearing

      15、Page2ViewModel - OnNavigatedFrom

      16、Page3ViewModel - OnNavigatedTo

    返回到Page2

      17、Page3ViewModel - OnDisappearing

      18、Page3ViewModel - OnNavigatedFrom

      19、Page2ViewModel - OnNavigatedTo

      20、Page3ViewModel - Destroy

      21、Page2ViewModel - OnAppearing

    返回到Page1

      22、Page2ViewModel - OnDisappearing

      23、Page2ViewModel - OnNavigatedFrom

      24、Page1ViewModel - OnNavigatedTo

      25、Page2ViewModel - Destroy

      26、Page1ViewModel - OnAppearing

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

      27、Page1ViewModel - OnDisappearing

    Page1没有进入Destroy方法,可以通过重写OnBackButtonPressed()方法,来进行释放资源等操作。

  • 相关阅读:
    开发者最好的推广平台
    [ERR] 2006
    PS通道
    PS图层样式
    PS 图层 蒙版
    科研狗的基本绘图技巧 | PS | AI
    memcached的常规操作:增删改查【转】
    mysql:pt-online-schema-change 在线修改表、删除表数据【转】
    HAProxy的四层与七层的区别及透传IP实战案例【转】
    【springBoot】SpringBoot修改启动logo图案
  • 原文地址:https://www.cnblogs.com/MrEggplant/p/10342950.html
Copyright © 2020-2023  润新知