Как добавить страницу в стек навигации? (Windows Phone) - PullRequest
0 голосов
/ 16 марта 2012

когда я перехожу к Page1.xaml, у меня пустой стек навигации, что мне нужно добавить в

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e){}

для добавления Page2.xaml в стек навигации (мне нужно переходить на Page2.xaml только при нажатии кнопки возврата)

1 Ответ

1 голос
/ 16 марта 2012

Если я правильно понимаю, вы хотите перейти к Page2.xaml, когда пользователь нажимает кнопку Назад, правильно?

Вам нужно будет использовать событие BackKeyPressed, чтобы это работало, вот так:

public MainPage()
{
    InitializeComponent();

    this.BackKeyPress += new EventHandler<System.ComponentModel.CancelEventArgs>(MainPage_BackKeyPress);
}

void MainPage_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e)
{
    e.Cancel = true;

    Dispatcher.BeginInvoke(() =>
    {
        NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
    });
}

Но учтите, что изменение поведения кнопки «Назад» по умолчанию может привести к неудачной сертификации приложения!

...