如何返回上一页,并保留上一页内容?
我找到了this,但是他们在那里使用了一个丑陋的默认导航栏,因此我想构建我自己设计的导航栏。
我该怎么做?我的意思是我想从page1导航到page2但是当我从page2返回到page1时,我想返回到同一个page1而不是它的新实例。
现在我正在使用这个(坏)方法:
void PreviousButton(object sender , RoutedEventArgs e)
{
Page2 p2 = new Page2();
NavigationService.Navigate(p2);
}
答案 0 :(得分:1)
如果您不想要框架的ui,请不要使用页面,也不要将框架用作主机。
我从未见过商业团队在wpf中使用网页。
相反,使用内容控件来托管你的东西 Usercontrols而不是Pages。
实例化新的UserControl时,可以将其添加到List并保留对实例的引用。保持当前索引。导航“返回”将使用先前的索引视图,转发下一个。
通常这将是视图模型而不是任何UI对象,并且您将每个视图模型数据模板化为视图(将viewmodel作为datacontext)。如上所述保留对viewmodel的引用。 此视图模型的第一个导航对于子视图来说相当常见 几乎所有商业团队都使用MVVM。