[英]Uwp application navigation between pages
this.Frame.Navigate(typeof(SomeClass), file);
this.Frame.GoBack();
大家好,
Goback()方法正在创建一个新实例,但我不想要它。我希望上一页保持原样,并保留数据。 关于这个问题有什么想法吗?
您必须设置NavigationCacheMode属性:
public MainPage()
{
InitializeComponent();
NavigationCacheMode = NavigationCacheMode.Enabled;
}
在App.xaml.cs中,您应该设置框架页面缓存的大小。 在分配了NavigationFailed处理函数之后,添加用于设置CacheSize的行。
rootFrame = new Frame();
rootFrame.NavigationFailed += OnNavigationFailed;
// Add this line after the above 2 lines that already exist.
rootFrame.CacheSize = 2; // Or some other number that makes sense for your application
在要保留数据的页面上,在XAML中,将缓存模式设置为required。
<Page ... NavigationCacheMode="Required" >...</Page>
在后面的代码中,您可能需要覆盖OnNavigatedFrom和OnNavigatedTo以保存和还原状态。
如果不想保留数据,请在该页面上设置NavigationCacheMode =“ Disabled”。 您仍然使用Frame.Navigate(typeof(SomePage));导航。
您可以序列化视图模型或类的所有数据,并还原或保存数据以恢复先前的信息。
这是一个例子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.