我正在创建一个具有多个页面的应用程序。每次进入和离开页面时都会调用 OnNavigatedTo 和 OnNavigatedFrom。
但是什么时候调用页面的构造函数,当我只是在页面之间导航时,应用程序会杀死它并再次调用构造函数吗?
有什么例外吗?
我正在创建一个具有多个页面的应用程序。每次进入和离开页面时都会调用 OnNavigatedTo 和 OnNavigatedFrom。
但是什么时候调用页面的构造函数,当我只是在页面之间导航时,应用程序会杀死它并再次调用构造函数吗?
有什么例外吗?
只有在BackStack
假设该页面没有资源泄漏的情况下,该页面才会被杀死。这就是为什么 MainPage 的构造函数只被调用一次,因为它总是在BackStack
.
因此,例如给出以下页面导航顺序,构造函数调用将是:
MainPage --> Page1 --> Page2 --> Go Back(Page 1) --> Go Back (MainPage) --> Page1
Ctor --> Ctor --> Ctor --> --> --> Ctor
如您所见,从 Page2 回到 Page1 不会调用 Page1 的构造函数,因为它仍在BackStack
. 但是,一旦回到 MainPage,导航到 Page1 将调用 Page1 的构造函数,因为它不再位于BackStack
.