C# 页面间的Uwp应用程序导航

C# 页面间的Uwp应用程序导航,c#,win-universal-app,C#,Win Universal App,大家好 Goback()方法正在创建一个新实例,但我不想要它。我希望上一页保持我离开时的状态,并保留数据。你知道这个问题吗?在App.xaml.cs中,你应该设置框架页面缓存的大小。在分配NavigationFailed处理程序后,添加设置CacheSize的行 this.Frame.Navigate(typeof(SomeClass), file); this.Frame.GoBack(); 在要保留数据的页面上,在XAML中将缓存模式设置为required rootFrame = new

大家好


Goback()方法正在创建一个新实例,但我不想要它。我希望上一页保持我离开时的状态,并保留数据。你知道这个问题吗?

在App.xaml.cs中,你应该设置框架页面缓存的大小。在分配NavigationFailed处理程序后,添加设置CacheSize的行

this.Frame.Navigate(typeof(SomeClass), file);
this.Frame.GoBack();
在要保留数据的页面上,在XAML中将缓存模式设置为required

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
。。。
在codebehind中,您可能需要覆盖OnNavigatedFrom和OnNavigatedTo以保存和恢复状态


如果不想保留数据,请在该页面上设置NavigationCacheMode=“Disabled”。您仍然使用Frame.navigate(typeof(SomePage))进行导航

在App.xaml.cs中,您应该设置帧页面缓存的大小。在分配NavigationFailed处理程序后,添加设置CacheSize的行

this.Frame.Navigate(typeof(SomeClass), file);
this.Frame.GoBack();
在要保留数据的页面上,在XAML中将缓存模式设置为required

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
。。。
在codebehind中,您可能需要覆盖OnNavigatedFrom和OnNavigatedTo以保存和恢复状态


如果不想保留数据,请在该页面上设置NavigationCacheMode=“Disabled”。您仍然使用Frame.navigate(typeof(SomePage))进行导航

您可以序列化viewmodel或类的所有数据,并恢复或保存数据以恢复以前的信息

这里有一个例子


您可以序列化viewmodel或类的所有数据,并恢复或保存数据以恢复以前的信息

这里有一个例子


您必须设置NavigationCacheMode属性:

<Page ... NavigationCacheMode="Required" >...</Page>

您必须设置NavigationCacheMode属性:

<Page ... NavigationCacheMode="Required" >...</Page>

谢谢你的回答。我需要在app.xaml.cs中编写根框架代码的位置,以及每次导航到下一页并清除其中的所有数据时,我需要如何创建下一页的新实例?@alidrsn更新以回答您的问题。谢谢您的回答。我需要在app.xaml.cs中编写根框架代码的位置,以及每次导航到下一页并清除其中的所有数据时,我需要如何创建下一页的新实例?@alidrsn更新以回答您的问题。这可能有帮助:这可能有帮助: