1

我正在创建一个具有多个页面的应用程序。每次进入和离开页面时都会调用 OnNavigatedTo 和 OnNavigatedFrom。

但是什么时候调用页面的构造函数,当我只是在页面之间导航时,应用程序会杀死它并再次调用构造函数吗?

有什么例外吗?

4

1 回答 1

3

只有在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.

于 2013-05-22T23:31:51.817 回答