2013-12-13 67 views
0

我在Windows Phone應用程序中有一個頁面。在這個頁面有一些時間。用戶可以通過按下刪除按鈕來刪除這些項目。以前,當按下後退按鈕時,用戶可能會看到已刪除的項目,並導致程序出錯。所以我重寫後退按鈕,並停止它的作品。我在我的應用上創建了自己的後退按鈕,當用戶按下我應用的後退按鈕時,它將導航到主頁面。 我用這個代碼:導航到新頁面失敗

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
    { 
     e.Cancel = true; //Cancels the default behavior. 

    } 

    private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/MainPage_page.xaml", UriKind.Relative)); 
    } 

但導航主頁無法正常工作。我該如何解決這個問題?

是否有可能通過按下手機的返回鍵這樣的導航到主頁:

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
    { 
     e.Cancel = true; //Cancels the default behavior. 
     NavigationService.Navigate(new Uri("/MainPage_page.xaml", UriKind.Relative)); 

    } 

回答

0

變化:

NavigationService.Navigate(new Uri("/MainPage_page.xaml", UriKind.Relative)); 

收件人:

NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 

除非你已經重命名頁面當然。

0

這可以幫助你。

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
    { 
     // e.Cancel = true; 
     NavigationService.Navigate(new Uri("/MainPage_page.xaml", UriKind.Relative)); 

    } 

您的按鈕單擊事件似乎沒問題導航到主頁沒有問題。

//似乎確定

private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/MainPage_page.xaml", UriKind.Relative)); 
    } 

如果我猜的沒錯還有一些其他的導航在MainPage_page.xaml的OnNavigatedTo方法

//查看您的MainPage_page.xaml

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
} 
+0

如果我在OnBackKeyPress使用導航代碼則錯誤顯示了在該://代碼以如果導航失敗 私人無效RootFrame_NavigationFailed(對象發件人,NavigationFailedEventArgs E) { 如果(System.Diagnostics.Debugger.IsAttached執行) { //導航失敗;打入調試器 System.Diagnostics.Debugger.Break(); } } – DarkenShooter

+1

尋找異常,我會建議你檢查你的頁面名稱,是「/MainPage_page.xaml」的正確路徑嗎?當找不到相對路徑時,會發生此異常。 – Jaihind