ユーザーが戻るキーを押したときに終了を確認するダイアログを表示したい。ネイティブの MessageBox を使用して実行できることはわかっています。ただし、代わりに winphone ツールキットの CustomMessageBox を使用すると、キャンセルされたキャンセル イベントは再開されません。
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
CustomMessageBox messageBox = new CustomMessageBox()
{
Caption = "Exit",
Message = "Do you want to exit?",
LeftButtonContent = "Yes",
RightButtonContent = "No"
};
messageBox.Dismissed += (s1, e1) =>
{
switch (e1.Result)
{
case CustomMessageBoxResult.LeftButton:
//app doesn't exit as expected
e.Cancel = false;
break;
case CustomMessageBoxResult.RightButton:
break;
case CustomMessageBoxResult.None:
break;
default:
break;
}
};
messageBox.Show();
}
イベントをキャンセルしないと、アプリはメッセージ ボックスを表示せずに終了します。Show を呼び出してスレッドをロックしようとすると、メッセージ ボックスが表示されません。代わりにTerminateまたは例外を使用してアプリを終了できることはわかっていますが、適切に終了してApplication_Closingを呼び出すことができるようにしたいです。助けてください!感謝。