【问题标题】:Refreshing the pages when navigated back in Windows Phone在 Windows Phone 中导航回时刷新页面
【发布时间】:2011-11-03 13:05:11
【问题描述】:
我有两个页面可以浏览和浏览。一个称为 MainPage,它是一个 Pivot 页面,另一个是称为 AddNewHistoryPage 的普通页面/类。 MainPage 中有一个名为 DisplayHistory 的函数,我想在从 AddNewHistoryPage 导航回到 MainPage 时调用它。
我发现有一个名为 OnNavigatedTo 的受保护函数。有人可以帮助找到更多信息,例如
- 如果我想在mainPage中调用DisplayHistory,OnNavigatedTo函数应该写在MainPage中
- “base.OnNavigatedTo(e)”是什么意思?
【问题讨论】:
标签:
windows-phone-7
navigation
【解决方案1】:
您应该在导航到 DisplayHistory 页面时保存您的手机状态,以便在导航回主页时您需要保留的信息将继续保留。
当使用函数 OnNavigatedTo 时,该函数将在 MainPage 上使用,但您必须编写一个语句来检查它是从哪些页面导航的......例如 DisplayHistory。
如果您不使用或不编写该语句,则每次访问该页面时都会运行该函数。
WP7 Navigation in Depth
在学习墓碑和必须将特定内容保存到内存 ICE(在紧急情况下)时,上面的这个链接帮助了我很多。
希望对您有所帮助! :)
【解决方案2】:
Keeano Martin 的链接应该足以回答您的第一个问题。
关于你的第二个问题:
'base.OnNavigatedTo(e)' 调用基类 OnNavigateTo 方法。
您的页面继承自一个基类:“PhoneApplicationPage”。如果您不覆盖 OnNavigatedTo 方法,则将直接调用基类实现。当你重写一个方法时,你应该[通常]调用基类实现(使用你发布的代码)。如果你不这样做,那么基类实现中的任何代码都将永远不会运行,你可能会得到一些意想不到的行为。