【问题标题】:How to return to the previous page, and keep previous page content WPF如何返回上一页,并保留上一页内容 WPF
【发布时间】:2018-05-06 11:43:15
【问题描述】:

如何返回上一页,并保留上一页内容?

我找到了this,但是他们在那里使用了一个丑陋的微软默认导航栏,因此我想构建自己设计的导航栏。

我该怎么做?我的意思是我想从 page1 导航到 page2,但是当我从 page2 返回到 page1 时,我想返回同一个 page1 而不是它的新实例。

现在我正在使用这个(坏的)方法:

void PreviousButton(object sender , RoutedEventArgs e)
        {
            Page2 p2 = new Page2();
            NavigationService.Navigate(p2);
        }

【问题讨论】:

  • 当您说“保留上一页内容”时,您的意思是说如果用户输入了任何数据,页面应该保留它们吗?

标签: c# wpf xaml


【解决方案1】:

如果您不想要框架的用户界面,请不要使用页面,也不要使用框架作为主机。
我从未见过商业团队在 wpf 中使用页面。

改为使用内容控件来托管您的内容。
用户控件而不是 Pages。

当您实例化一个新的 UserControl 时,您可以将它添加到 List 并保留对该实例的引用。保持当前索引。导航“后退”将使用前一个索引视图,转发下一个。

通常这将是视图模型而不是任何 UI 对象,并且您会将每个视图模型数据模板化到一个视图中(将视图模型作为 datacontext )。保留对上述视图模型的引用。 这种视图模型第一个导航对于子视图来说相当常见。
几乎所有的商业团队都使用 MVVM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 2012-06-16
    • 2011-02-02
    相关资源
    最近更新 更多