0

私のプログラムには、ページに移動するときに実行される非同期タスクがあります。問題は、(電話のハードウェアの戻るボタンを使用して)そのタスクから移動すると、タスクがまだ完了しておらず、アプリがクラッシュすることです。だから私の質問は、どうすれば一時的に戻るボタンを無効にできるかということです。これで、非同期タスクが終了したときに再度有効にできますか?

ありがとう、

バート・トゥニセン

4

1 に答える 1

4

私の意見では、戻ることができるはずなので、戻るボタンがあるという理由だけで、できるだけ多くの場合、戻るボタンを有効にしてみるべきだと思います。しかし、ここでそれを行う方法を知りたい場合は、方法があります。OnBackKeyPressメソッドを初期化し、ブール値を使用して、非同期タスクが終了したかどうかを定義できます。変数BusyWithAsyncを定義し、非同期タスクの開始時にtrueに設定し、完了したらBusyWithAsync変数をfalseに設定するだけで、準備が整います。

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (BusyWithAsync)
    {
        e.Cancel = true;
    }
}
于 2012-06-09T00:53:17.123 に答える