C# Silverlight导航:如何记住页面状态?

C# Silverlight导航:如何记住页面状态?,c#,silverlight,C#,Silverlight,我不知道如何在Silverlight4中保持页面状态 我有一个名为SearchPage的页面。用户带着一个查询来到这里,但是当用户在那里时,查询可能会改变。如果用户返回,我希望保留查询的最新版本,而不是原始版本 为此,我重写了OnFavigatedFrom()并更改了NavigationContext.QueryString,以反映新的值。然后,在OnNavigatedTo()中检查这些值 不幸的是,这不起作用。似乎无法更改查询字符串,因为当我调用navigator.GoBack()时,它会返回

我不知道如何在Silverlight4中保持页面状态

我有一个名为
SearchPage
的页面。用户带着一个查询来到这里,但是当用户在那里时,查询可能会改变。如果用户返回,我希望保留查询的最新版本,而不是原始版本

为此,我重写了OnFavigatedFrom()并更改了
NavigationContext.QueryString
,以反映新的值。然后,在
OnNavigatedTo()
中检查这些值

不幸的是,这不起作用。似乎无法更改查询字符串,因为当我调用
navigator.GoBack()
时,它会返回到原始查询字符串


还有什么方法可以保留页面状态?

您可以将页面上的NavigationCacheMode属性设置为Enabled(启用)或Required(必需),这将在页面被导航离开时缓存并保留页面的状态。

您可以将页面上的NavigationCacheMode属性设置为Enabled(启用)或Required(必需),当页面被导航到其他位置时,它将缓存并保留页面的状态