我正在查看有关页面生命周期的一些信息,尤其是在调用页面构造函数时?页面开始时会发生这种情况,即使它早于 5 秒显示?每次页面显示时都会初始化页面的组件,并在另一个页面显示时销毁?
问问题
912 次
2 回答
1
您可以在此博客文章中找到有关页面生命周期和正在调用的事件的一些信息
于 2012-08-23T12:20:46.083 回答
0
导航到页面时会实例化一个页面(假设您在 Silverlight 上运行)。当您离开它时,状态将保存在堆栈中。如果您向后导航(通过调用 NavigationService 类的 GoBack 方法),页面将从其状态恢复,而无需调用构造函数。
但是,如果您离开现有页面,并通过调用 Navigate 方法重新导航到该页面,则会实例化一个全新的页面实例,因此将再次调用构造函数。
因此,要回答您的问题,在显示页面时将调用的唯一可靠方法是 OnNavigatedTo (以及 OnNavigatedFrom 离开时,它只是在导航时破坏)。建议将初始化代码和处置代码放在这两个方法中,而不是依赖构造函数。
于 2012-08-24T04:23:34.513 回答