2016-05-15 5 views
0

Я не смог найти то, что мне нужно на сайте, поэтому моя проблема заключается в следующем: Если я просматриваю такие страницы: A -> B -> C (обновление базы данных SQLite для выбранного автомобиля со страницы B) -> B (удалить обновленный автомобиль). И теперь, когда я нажимаю кнопку «назад», появляется «System.NullReferenceException». Поэтому я хочу, чтобы аппаратная кнопка переместила меня на первую страницу до «B». Например: A -> B -> C -> B (перемещение назад) -> A или D -> B -> C -> B (перемещение назад) -> D и т. Д. Как я могу это решить?Как перейти на конкретную страницу - Windows Phone 8

ответ

0

Я решил это следующим образом: Я создал публичный статический int 'pageIndex' на странице B (VehiclesPage.xaml), и у меня есть доступ к странице B с других 4 страниц, поэтому я меняю индекс перед тем, как перейти к 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; 
     } 
    } 
Смежные вопросы