我正在使用WPF NavigationService在我的应用程序中从一个页面导航到另一个页面,如下所示:
private void Image_Forward_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (YesNo.Choice == "yes")
{
NavigationService.Navigate(new PageQuestion2Yes());
}
else if (YesNo.Choice == "no")
{
NavigationService.Navigate(new PageQuestion2No());
}
}
我发现如果我不止一次导航到一个页面,那么每次创建一个新的Page对象时。 (我注意到我在我的页面中添加了一个构造函数并显示了一个消息框,我发现当主应用程序退出所有页面时会被销毁)
如何使用NavigationService,以便在应用程序的生命周期内只创建一个Page?
答案 0 :(得分:3)
从您的代码中可以看出,您希望在导航后始终需要新的Page对象:
// Calling constructor manually.
NavigationService.Navigate(new PageQuestion2Yes());
而是将对象存储在类级别字段中,并始终导航到该对象:
private PageQuestion2Yes yesObject = new PageQuestion2Yes();
现在在方法中,该对象始终在导航上传递:
NavigationService.Navigate(yesObject);