как удалить всю историю из заднего стека, кроме текущей страницы? - PullRequest
2 голосов
/ 09 марта 2012

Я переопределил этот метод:

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    base.OnBackKeyPress(e);
    IAsyncResult guide = Guide.BeginShowMessageBox(
        "Alert", "Do you want to go to the Menu Page?",
        new string[] { "YES", "NO" }, 0,
        MessageBoxIcon.Alert, null, null);
    int result = (int)Guide.EndShowMessageBox(guide);
    if (result == 0) // YES 
    {
        NavigationService.Navigate(new Uri("/MenuPage.xaml", UriKind.RelativeOrAbsolute));
    }
    else // NO 
    {
    }
}

Теперь, когда я нажимаю «нет», он по-прежнему возвращает меня на предыдущую страницу, я просто хочу переопределить эту функцию, оставив ее только на текущей странице, без перезапуска страницы. Можно я?

1 Ответ

3 голосов
/ 09 марта 2012

Вы можете отменить событие следующим образом:

 e.Cancel = true;
...