暂时禁用后退按钮

时间:2012-06-08 09:21:51

标签: windows-phone-7 navigation

在我的程序中,我有一个在导航到页面时执行的异步任务。问题是,当我离开该任务时(使用手机的硬件后退按钮)任务尚未完成且应用程序崩溃。所以我的问题是,如何暂时禁用后退按钮。这样我可以在异步任务完成时重新启用它吗?

谢谢,

Bart Teunissen

1 个答案:

答案 0 :(得分:4)

在我看来,我认为你应该在尽可能多的情况下尝试启用后退按钮,因为有一个后退按钮,因为你应该能够回来(制造)。但如果您想知道如何做到这一点,这是一种方式: 您可以初始化OnBackKeyPress方法并使用布尔值来定义async-task是否已完成。定义变量BusyWithAsync并在异步任务启动时将其置为true,一旦完成,只需将BusyWithAsync变量置为false,就可以准备好了。

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (BusyWithAsync)
    {
        e.Cancel = true;
    }
}