我使用此方法关闭我的应用:
public void quit()
{
if (NavigationService.CanGoBack)
{
while (NavigationService.RemoveBackEntry() != null)
{
NavigationService.RemoveBackEntry();
}
}
}
按下返回键后调用它时,应用会按预期关闭:
protected override void OnBackKeyPress(CancelEventArgs e)
{
quit();
}
但是在我调用此方法的任何其他地方,堆栈都会被清空,但应用程序不会关闭。
如果我尝试:
quit();
NavigationService.GoBack();
会出现运行时错误。如果有人可以帮助我,因为我不喜欢通过例外,因为它会被记录为市场统计中的错误。
答案 0 :(得分:1)
无需清除导航堆栈;如果应用程序终止导航堆栈将会消失。不要担心用户前进;没有前进钥匙。
删除例外:
quit();
if( NavigationService.CanGoBack)
{
NavigationService.GoBack();
}
但在你这样做之前,请看一下代码:你想要完成什么?首先,您要清理堆栈然后想要使用堆栈。