2014-01-30 5 views
0

Это действительно странная ситуация, в которой я здесь. Позволяет, для простоты сказать, что у меня 3 страницы. 'MainPage.xaml', 'SeconPage.xaml' и 'ThirdPage.xaml'. Я стараюсь, чтобы перейти к «MainPage.xaml» от «ThirdPage.xaml», используя следующий код:Не удается перейти к MainPage.xaml

// Forward user to MainPage       
try 
{ 
    NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
} 
catch (Exception ete) 
{ 
    MessageBox.Show("Error when navigating: " + ete.ToString()); 
} 

Это по какой-то неизвестной причине, не работает ... Ошибка не выкинут, ничего. Он просто ничего не делает. И этот код действительно выполняется. Я подтвердил с кучей вызовов MessageBox вокруг него.

Когда я пытаюсь сделать то же самое с тем же кодом из «SecondPage.xaml». Все работает отлично ... Я понятия не имею, как это сделать, особенно если сообщения об ошибках не представлены. Любая помощь будет действительно оценена!

EDIT (ThirdPage.xaml.cs по просьбе @AmanKhandelwal)

public partial class ThirdPage : PhoneApplicationPage 
{ 
    public ThirdPage() 
    { 
     InitializeComponent(); 
    } 

    private void btnForgotPin_Click(object sender, RoutedEventArgs e) 
    { 
     // Clear out entire cache 
     DataCache myCache = new DataCache(); 
     myCache.deleteEntireCache(); 

     // Forward user to login screen       
     try 
     { 
      NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
     } 
     catch (Exception ete) 
     { 
      MessageBox.Show("Error when navigating: " + ete.ToString()); 
     } 

    } 

    protected override void OnBackKeyPress(CancelEventArgs e) 
    { 
     /* When back button is pressed on this page the app has to close, 
     * the user is not allowed to interact with the app without providing 
     * the authentication pin. 
     */ 
     throw new ExitException(); 
    } 

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     base.OnNavigatedFrom(e); 

     MessageBox.Show("Hitting OnNavigatedFrom"); 
    } 
} 
+1

Я действительно не знаю, в чем проблема. но вы пытаетесь создать событие OnNavigatedFrom в ThirdPage.xaml и OnNavigatedTo в MainPage.xaml.this Это всего лишь шаг, чтобы проверить/отладить, правильно ли выполняется навигация или нет. –

+0

является вашей главной страницей в какой-либо папке или ее главной директории? –

+0

Просто для обеспечения - сделайте SecondPage и ThirdPage разными (что угодно) или это просто копия с другим именем? А на SecondPage и ThirdPage вы переходите из Main или в Third from Second? Я предполагаю, что они находятся в одном каталоге - да? – Romasz

ответ

0

ну кажется, что вы используете навигатор в неправильном направлении, правильно Синтекс является

NavigationService.Navigate(new Uri("/[name_of_your_project];component/[page_name.xaml]", UriKind.Relative)); 

класть это после осуществления изменений как описано.

Смежные вопросы