2014-01-26 74 views
0

我最近開始WP 8開發。我知道C#有點但不多。順便說一句,我試圖打開一個頁面務實,但應用程序是粉碎。Windows Phone 8以編程方式打開新頁面

我的代碼是在這裏

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

但我感到困惑,因爲它的工作時,我按一下按鈕事件代碼塊中把上面的代碼。

錯誤詳細類型「System.NullReferenceException」 的異常出現在TestProgram.DLL但在用戶代碼中沒有處理

如果這個異常的處理程序,該程序可以安全 繼續。

我需要你的建議。

編輯:代碼添加

Credens MyCred = new Credens(); 

// Constructor 
public MainPage() 
{ 
    InitializeComponent(); 

    if (MyCred.ifExists("api_key")) 
    { 
     NavigationService.Navigate(new Uri("/Dashboard.xaml", UriKind.Relative)); 
    } 

} 
+0

你什麼時候調用Navigate-Method? –

+0

可能太早,因此NavigationService爲空,因爲它尚未初始化。 – venerik

+1

@venerik這就是我的觀點;) –

回答

6

您不能在構造函數中使用NavigationService。把你的代碼到OnNavigatedTo事件,它不會崩潰

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    if (MyCred.ifExists("api_key")) 
    { 
     NavigationService.Navigate(new Uri("/Dashboard.xaml", UriKind.Relative)); 
    } 
} 
1

是否遵循this tutorial一步一步?

你的代碼似乎是對的。正如你所說,你應該有這樣的事情:

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

你的頁面是否在同一個文件夾?你檢查了路徑嗎?你的網頁是否存在?你可以開機嗎?如果您在NavigationService上添加了一個斷點,那麼失敗了?

我覺得這個文檔很有幫助。

+1

答案不應只包含一個鏈接(請參閱:http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers) –

+0

謝謝。我會讀那個。 – aloisdg

0

試穿PhoneApplicationPageLoadedOnNavigatedTo()事件調用Navigate()

相關問題