在Windows Phone 7中回拨

时间:2011-09-07 08:42:38

标签: windows-phone-7

我需要以编程方式在我的应用程序中的某个时刻调用后退按钮命令,那么命令是什么。
问题是我需要在用户从第二页按下时退出应用程序,因此我需要在导航到第一页退出时调用后退按钮命令。
我在网上搜索,发现没有系统的方法退出代码中的应用程序所以有任何建议吗? 谢谢,

3 个答案:

答案 0 :(得分:4)

在第二页的NavigationService.RemoveBackEntry();中致电OnNavigatedTo。这将从导航堆栈中删除第一页,如果用户按下后退键,则应用程序将退出。

警告:只调用一次删除! (多任务处理多次调用OnNavigatedTo

private bool removed = false;
public override void OnNavigatedTo(...)
{
    if (!removed) 
    {
        removed = true; 
        NavigationService.RemoveBackEntry();
    }

(仅限WP 7.1 [Mango])

答案 1 :(得分:1)

我发现这适用于我使用Windows Phone SDK 7.1(芒果):

private bool removeBack = true;

private void PhoneApplicationPage_BackKeyPress ( object sender , System . ComponentModel . CancelEventArgs e )
{
    if ( removeBack )
    {
        this . removeBack = false;

        if ( NavigationService . CanGoBack )
        {
            this . NavigationService . RemoveBackEntry ( );
        }
    }
}

答案 2 :(得分:0)

NavigationService.GoBack();

这可以在页面上调用再次返回 - 如果这是您的应用程序退出的第一页,则无法强制退出应用程序 - 在7.1中有一些方法可以从导航中删除页面“backstack “可以跳过页面以达到类似的效果,例如:

NavigationService.RemoveBackEntry();

然而,这仅适用于“Mango”SDK和设备/模拟器


对不起,这个解决方案无法检查这个,但是我现在离开这里,这对某人有用。