2014-01-26 45 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()

相关问题