我的应用程序中的页面构造函数是否只调用过一次?

时间:2013-05-22 21:51:46

标签: windows-phone-7

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

但是当一个页面的构造函数被调用时,当我只是在我的页面之间导航时,应用程序是否会将其终止并再次调用构造函数?

有没有例外?

1 个答案:

答案 0 :(得分: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