这将刷新您的页面:
var _Frame = Window.Current.Content as Frame;
_Frame.Navigate(_Frame.Content.GetType());
_Frame.GoBack(); // remove from BackStack
- 处理 OnNavigatingFrom() 可以保存页面的数据和状态。
- 处理 OnNavigatingTo() 您可以加载页面的数据和状态。
需要注意的是,我的示例不考虑页面参数,您可能需要。另外,另一个警告,我的示例会重新加载您的页面两次。但是 GoBack() 是从 BackStack 中删除新条目所必需的。与 WP 不同,Frame 没有 Refresh()。此外,BackStack 没有 Remove()。
更新
我不再使用上述方法。我用这个:
public bool Reload() { return Reload(null); }
private bool Reload(object param)
{
Type type = this.Frame.CurrentSourcePageType;
if (this.Frame.BackStack.Any())
{
type = this.Frame.BackStack.Last().SourcePageType;
param = this.Frame.BackStack.Last().Parameter;
}
try { return this.Frame.Navigate(type, param); }
finally { this.Frame.BackStack.Remove(this.Frame.BackStack.Last()); }
}