我在WP8应用程序中有一个页面,每当我导航到它时,都会调用构造函数。
据我所知,第一次加载页面时,页面的构造函数只调用一次。我的页面很重,每一个建筑都浪费时间。
这是我的导航代码,通常是:
NavigationService.Navigate(new Uri("/Views/Pages/ContentControlNew.xaml", UriKind.Relative));这是页面的构造函数:
public ContentControlNew()
{
InitializeComponent();
}没什么特别..。构造函数每次都被调用是正常的吗?如果你需要更多的细节,请告诉我,因为我不知道在这个问题上还能说些什么。
发布于 2014-06-10 16:29:25
是的,这是正常的,因为每当您使用NavigationService.Navigate时,它都会创建一个新的页面对象,并将其添加到导航堆栈中。例如,当您使用GoBack()时,它会弹出堆栈并销毁它,但是当它返回到上一页时,它不会调用构造函数,因为构造函数已经在堆栈中,无需重新创建。
如果您不希望每次导航到它时都创建一个页面,那么您应该查看Windows的导航模型,了解如何解决这个问题。
https://stackoverflow.com/questions/24145736
复制相似问题