如何导航回特定页面 - Windows Phone 8

时间:2016-05-15 14:45:44

标签: button hardware back

我无法在网站上找到我需要的内容,所以我的问题如下: 如果我浏览这样的页面:A - > B - > C(从页面B对所选车辆进行SQLite数据库更新) - > B(删除更新的车辆)。现在,当我按下硬件后退按钮'System.NullReferenceException'时发生。所以我想要硬件按钮让我回到'B'之前的第一页。例如:A - > B - > C - > B(向后导航) - > A或D - > B - > C - > B(向后导航) - > D等我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我这样解决了: 我在页面B(VehiclesPage.xaml)上创建了public static int'pageIndex',我可以从另外4个页面访问页面B,所以我在从每个页面导航到B之前更改索引。例如:

            From A->B
            VehiclesPage.pageIndex = 1;
            this.NavigationService.Navigate(new Uri("/View/VehiclesPage.xaml", UriKind.Relative));
            From D->B
            VehiclesPage.pageIndex = 2;
            this.NavigationService.Navigate(new Uri("/View/VehiclesPage.xaml", UriKind.Relative));
            etc...

VahiclesPage.xaml.cs上的方法:

        protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
    {
        base.OnBackKeyPress(e);

        switch (pageIndex)
        {
            case 1:
                NavigationService.Navigate(new Uri("/View/RefuelingPage.xaml", UriKind.Relative));
                break;
            case 2:
                NavigationService.Navigate(new Uri("/View/OtherCostsPage.xaml", UriKind.Relative));
                break;
            case 3:
                NavigationService.Navigate(new Uri("/View/StatisticsPage.xaml", UriKind.Relative));
                break;
            case 4:
                NavigationService.Navigate(new Uri("/View/CalculatorPage.xaml", UriKind.Relative));
                break;
        }
    }