0

我使用此方法关闭我的应用程序:

public void quit()
{
    if (NavigationService.CanGoBack)
    {
        while (NavigationService.RemoveBackEntry() != null)
        {
            NavigationService.RemoveBackEntry();
        }
    }
}

当我按返回键后调用它时,应用程序按预期关闭:

protected override void OnBackKeyPress(CancelEventArgs e)
{
    quit();
}

但是在我调用此方法的其他任何地方,堆栈被清空但应用程序不会关闭。

如果我尝试:

quit();
NavigationService.GoBack(); 

会出现运行时错误。如果有人可以帮助我,因为我不喜欢通过异常,因为它将被记录为市场统计数据中的错误。

4

1 回答 1

1

无需清除导航堆栈;如果应用程序终止,导航堆栈将消失。不要担心用户前进;没有前进键。

要删除异常:

quit();
if( NavigationService.CanGoBack)
{
    NavigationService.GoBack(); 
}

但在你这样做之前,看看代码:你想完成什么?首先,您要清理堆栈,然后要使用堆栈。

于 2013-02-15T07:15:11.667 回答