繁体   English   中英

页面之间的UWP应用程序导航

[英]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));导航。

您可以序列化视图模型或类的所有数据,并还原或保存数据以恢复先前的信息。

这是一个例子。

http://irisclasson.com/2012/07/09/example-metro-app-winrt-serializing-and-deseralizing-objects-to-storagefile-and-localfolder-using-generics-and-asyncawait-threading/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM