私のUWPアプリでは、モバイルの戻るボタンをクリックするとアプリが閉じるので、このコードをapp.xaml.csに追加します
private async void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
e.Handled = true;
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame.CanGoBack && rootFrame != null)
{
rootFrame.GoBack();
}
else
{
var msg = new MessageDialog("Confirm Close! \nOr Press Refresh Button to Go Back");
var okBtn = new UICommand("OK");
var cancelBtn = new UICommand("Cancel");
msg.Commands.Add(okBtn);
msg.Commands.Add(cancelBtn);
IUICommand result = await msg.ShowAsync();
if (result != null && result.Label == "OK")
{
Application.Current.Exit();
}
}
}
と
public App()
{
this.InitializeComponent();
this.Suspending += OnSuspending;
/* Because of this line my app work on mobile great but when
when i debug on pc it through exception "show in image" */
HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
電話でアプリをデバッグするときにこのコードをすべて実行した後、アプリは正常に実行されます-モバイルデバッグ:
しかし、同じコードで PC でデバッグすると、このエラーが表示されます - PC Debuging:
削除するHardwareButtons.BackPressed += HardwareButtons_BackPressed;
と、PC デバッグの問題は解決しましたが、モバイル デバッグの [戻る] ボタンが再び機能しません。