在我的Windows手机应用程序中,我正在尝试使用以下代码重新加载应用程序页面:
NavigationService.Navigate(new Uri(string.Format("/Page1.xaml?random={0}", Guid.NewGuid()), UriKind.Relative));
我已将上面的代码写入按钮点击事件。 Page1正在重新加载,但每次单击按钮时,应用程序内存都会不断增加,并且有时应用程序崩溃。
是否有其他方法可以重新加载或刷新页面,而无需在应用程序内存中创建页面的新副本。
答案 0 :(得分:1)
您始终可以通过调用Page.Refresh();从代码中刷新页面内容。或者某些类似的方法,但这可能无法刷新所有内容。
如果您决定进行新的导航(并确保所有内容都达到页面的初始状态),您可以通过调用以下方式从堆栈中删除以前导航的页面:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey("logedin"))
{
NavigationService.RemoveBackEntry();
}
}
看一下NavigationService类,特别是AddBackEntry和RemoveBackEntry方法:
http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice(v=vs.110).aspx
答案 1 :(得分:0)
试试这段代码
var Frame = Window.Current.Content as Frame;
Frame.Navigate(Frame.Content.GetType());
Frame.GoBack();