我正在寻找一些关于页面生命周期的信息,特别是当页面构造函数被调用时?当页面启动时会发生这种情况,即使它已经在5秒前显示了?页面组件在每次页面显示时被初始化,而在另一个页面显示时被销毁?
发布于 2012-08-24 12:23:35
当你导航到一个页面时,它会被实例化(假设你在Silverlight上运行)。当您离开它时,状态将保存在堆栈中。如果向后导航(通过调用NavigationService类上的GoBack方法),页面将从其状态恢复,而不调用构造函数。
但是,如果您离开现有页面,并通过调用导航方法重新导航到该页面,则会实例化该页面的全新实例,因此将再次调用该构造函数。
因此,为了回答您的问题,当页面显示时,唯一肯定会调用的方法是OnNavigatedTo (以及当页面离开时调用OnNavigatedFrom,无论它只是在导航离开时销毁)。建议将初始化代码和处理代码放在这两个方法中,而不是依赖于构造函数。
发布于 2012-08-23 20:20:46
您可以在此博客文章中找到有关页面生命周期和正在调用的事件的信息
https://stackoverflow.com/questions/12090235
复制相似问题