Windows Phone 8以编程方式打开新页面

时间:2014-01-26 16:55:27

标签: c# windows-phone-8 navigation

我最近开始了WP 8开发。我知道C#有点但不多。顺便说一句,我正在尝试以务实的方式打开一个页面,但应用程序正在破碎。

我的代码在这里

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));
    }

}

3 个答案:

答案 0 :(得分:6)

您无法在构造函数中使用NavigationService。将您的代码放入OnNavigatedTo事件,它不会崩溃

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

答案 1 :(得分:1)

您是否一步一步地关注this tutorial

您的代码似乎正确。正如你所说,你应该有这样的事情:

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

您的网页是否在同一个文件夹中?你检查了路径吗?你的网页存在吗?你能开机吗?如果你在NavigationService上添加一个断点,那么它失败了吗?

我认为此文档非常有用。

答案 2 :(得分:0)

尝试在Navigate() PhoneApplicationPageLoaded事件上致电OnNavigatedTo()