私のプログラムには、ページに移動するときに実行される非同期タスクがあります。問題は、(電話のハードウェアの戻るボタンを使用して)そのタスクから移動すると、タスクがまだ完了しておらず、アプリがクラッシュすることです。だから私の質問は、どうすれば一時的に戻るボタンを無効にできるかということです。これで、非同期タスクが終了したときに再度有効にできますか?
ありがとう、
バート・トゥニセン
私のプログラムには、ページに移動するときに実行される非同期タスクがあります。問題は、(電話のハードウェアの戻るボタンを使用して)そのタスクから移動すると、タスクがまだ完了しておらず、アプリがクラッシュすることです。だから私の質問は、どうすれば一時的に戻るボタンを無効にできるかということです。これで、非同期タスクが終了したときに再度有効にできますか?
ありがとう、
バート・トゥニセン
私の意見では、戻ることができるはずなので、戻るボタンがあるという理由だけで、できるだけ多くの場合、戻るボタンを有効にしてみるべきだと思います。しかし、ここでそれを行う方法を知りたい場合は、方法があります。OnBackKeyPressメソッドを初期化し、ブール値を使用して、非同期タスクが終了したかどうかを定義できます。変数BusyWithAsyncを定義し、非同期タスクの開始時にtrueに設定し、完了したらBusyWithAsync変数をfalseに設定するだけで、準備が整います。
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
if (BusyWithAsync)
{
e.Cancel = true;
}
}