如何将页面添加到导航堆栈?(Windows Phone)

时间:2012-03-16 12:42:41

标签: c# silverlight windows-phone-7 silverlight-4.0 silverlight-3.0

当我导航到Page1.xaml时,我有一个空的导航堆栈,我需要添加到

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

将Page2.xaml添加到导航堆栈中(只有当我按下返回按钮时才需要导航到Page2.xaml)

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您想在用户按“返回”按钮时导航到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));
    });
}

但请注意,更改“后退”按钮的默认行为可能会导致应用程序认证失败!