0
我在我的應用程序中重寫BackButton並顯示MessageDialog。如何取消任務?
public Scenario_3()
{
this.InitializeComponent();
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
private async void HardwareButtons_BackPresseed(object sender, BackPressedEventArgs e)
{
e.Handled = true;
var dialog = new MessageDialog("Do you want exit?");
dialog.Commands.Add(new Windows.UI.Popups.UICommand("yes") { Id = 0 });
dialog.Commands.Add(new Windows.UI.Popups.UICommand("no") { Id = 1 });
dialog.DefaultCommandIndex = 0;
dialog.CancelCommandIndex = 1;
var result = await dialog.ShowAsync();
if (result.Label == "yes")
{
this.Frame.Navigate(typeof(BlankPage1));
((Frame)Window.Current.Content).BackStack.Clear();
}
導航到BlankPage1後,我再次看到MessageDialog如果按後退按鈕。 如何在導航後取消此重寫?
很難理解你的問題沒有好的[MCVE]和更清晰的問題陳述。但是看起來你忘記了在離開當前頁面時退訂'BackPressed'事件。 –
您是否嘗試過使用*標記*來檢查您的按鈕/方法是否曾經被調用過? – Romasz
Peter Duniho,謝謝!你的技術解決了這個問題。 –