2013-10-20 73 views
0

我正在開發一個使用VS 2013的簡單WP8應用程序。我有一個MainPage.xaml並添加了一個名爲Page1.xaml的新頁面。當用戶點擊「新項目」時,我在屏幕上有一個選項列表,我想打開一個新頁面來添加新項目(例如Page1.xaml)。
在列表中選擇更改事件我寫了下面的代碼:NavigationService.Navigate拋出一個異常並調用WP8中的Application_UnhandledException

private void OptionssList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     var selection = (MenuItem) e.AddedItems[0]; 
     switch (selection.Id) 
     { 
      case 0: 
       break; 
      case 1: 
       break; 
      case 2: 
       this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative)); 
       break; 
      case 3: 
       break; 
      default: 
       break; 
     } 
    } 

當我嘗試調試應用程序,我注意到,這是的Page1.xaml的構造函數,如果我有一個的OnNavigatedTo事件處理程序調用也被調用,但是在所有這些都引發了未處理的異常之後。沒有代碼可以在引發異常時看到,但它調用Application_UnhandledException事件處理程序。

private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) 
    { 
     if (Debugger.IsAttached) 
     { 
      // An unhandled exception has occurred; break into the debugger 
      Debugger.Break(); 
     } 
    } 

異常的詳細信息如下圖所示:

System.NullReferenceException was unhandled 
Message: An unhandled exception of type 'System.NullReferenceException' occurred in System.Windows.ni.dll 
Additional information: Object reference not set to an instance of an object. 

我想知道如果我失去了一些東西。我提到它的樣本,它也顯示了類似Navigate的方式,沒有注意到任何東西的幻想。

+1

也許我們需要更多的細節來了解會發生什麼。您的Page1.xaml可能存在問題,它是否包含特殊的內容? – AirL

+0

我的網頁上沒有什麼特別的..我剛剛創建了一個新的頁面,我還沒有添加任何控制。 –

回答

0

我知道這可能是一個非常愚蠢的問題,你的代碼對我來說看起來很好,你的網頁可能不在另一個文件夾中?我總是把我的網頁被稱爲UI文件夾中,所以我的代碼看起來是這樣的:

          /folder1/folder2/pagename 
this.NavigationService.Navigate(new Uri("/UI/Generics/Page.xaml", UriKind.Relative)); 

只要確保這一點,原因通常得到我。

+0

我的頁面都在根文件夾中。 –

相關問題