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,谢谢!你的技术解决了这个问题。 –