2010-12-02 58 views
1

我不确定如何在Silverlight 4中保留页面状态。Silverlight导航:如何记住页面状态?

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

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

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

还有什么其他方式可以保持页面状态?

回答

1

您可以将页面上的NavigationCacheMode属性设置为“已启用”或“必需”,这将缓存并保留导航时的页面状态。