Windows Phone Back KeyPress + MessageBox crashes the app without Selection

前端 未结 3 784
攒了一身酷
攒了一身酷 2021-01-15 06:19

I have a strange issue overriding BackkeyPress Function in code behind, inside the function i have a simple message box to Go back or cancel navigation ( stay in current pag

相关标签:
3条回答
  • 2021-01-15 06:42

    http://msdn.microsoft.com/en-US/library/windowsphone/develop/jj206947(v=vs.105).aspx

    In Windows Phone 8, if you call Show in OnBackKeyPress(CancelEventArgs) or a handler for the BackKeyPress event, the app will exit.

    You can work around this by calling Show on a different thread, as described in the following steps. Override BackKeyPress or create a handler for the BackKeyPress event. Set the Cancel to true to cancel the back key press action. Dispatch a method that shows the MessageBox. If the user chooses to leave the app, call Terminate(), otherwise, do nothing.

    0 讨论(0)
  • 2021-01-15 06:42

    When using Terminate() - be aware that a number of app.xaml.cs rootFrame navigating events associated with normal exit won't trigger, neither the ApplicationClosing or your page's OnNavigatedFrom. So check if anything going on is important. You might tack it on before terminating...

    0 讨论(0)
  • 2021-01-15 06:51

    I found one more solution to this, so I thought it would be good if I posted it here. It's just a workaround though.

    private async void PhoneApplicationPage_BackKeyPress (object sender, System.ComponentModel.CancelEventArgs e)
    {
         e.Cancel = true;
         await Task.Delay(100);
         if (MessageBox.Show(msg, cap, MessageBoxButton.OKCancel) == MssageBoxResult.OK)
         {
              //somecode
         }                
    }
    

    Source

    0 讨论(0)
提交回复
热议问题