0

我正在使用 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 以便在我的应用程序生命周期内只创建一个页面?

4

1 回答 1

3

从您的代码中很明显,您希望在导航后始终使用新的 Page 对象:

// Calling constructor manually.
NavigationService.Navigate(new PageQuestion2Yes());

而是将对象存储在类级别字段中并始终导航到该对象:

private PageQuestion2Yes yesObject = new PageQuestion2Yes();

现在在方法中始终在导航上传递该对象:

NavigationService.Navigate(yesObject);
于 2013-12-28T19:53:07.467 回答