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

时间:2018-05-06 11:43:16

标签: c# wpf xaml

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

相反,使用内容控件来托管你的东西 Usercontrols而不是Pages。

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

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