Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone 8以编程方式打开新页面_C#_Windows Phone 8_Navigation - Fatal编程技术网

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

C# Windows Phone 8以编程方式打开新页面,c#,windows-phone-8,navigation,C#,Windows Phone 8,Navigation,我最近开始了wp8的开发。我知道一点,但不多。顺便说一句,我正试图务实地打开一个页面,但这个应用程序正在崩溃 我的密码在这里 NavigationService.Navigate(new Uri("/Dashboard.xaml", UriKind.Relative)); 但我很困惑,因为当我把上面的代码放在按钮点击事件代码块中时,它就工作了 错误详细信息“System.NullReferenceException”类型的异常 在TestProgram.DLL中发生,但未在用户代码中处理 如果

我最近开始了wp8的开发。我知道一点,但不多。顺便说一句,我正试图务实地打开一个页面,但这个应用程序正在崩溃

我的密码在这里

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

}
你一步一步地跟着吗

你的代码似乎是对的。正如你所说,你应该有这样的东西:

private void hyperlinkButton1_Click(object sender, RoutedEventArgs e)
{
    NavigationService.Navigate(new Uri("/Dashboard.xaml", UriKind.Relative));
}
您的页面是否在同一文件夹中?你检查路径了吗?你的网页存在吗?你能穿上它吗?如果在NavigationService上添加断点,它在哪里失败


我认为此文档非常有用。

您不能在构造函数中使用
导航服务。将您的代码放入
on navigated to
事件,它将不会崩溃

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

尝试调用
PhoneApplicationPage
Loaded
OnNavigatedTo()
事件上的
Navigate()

答案不应该只包含一个链接(请参见:)何时调用Navigate方法?可能太早了,因此NavigationService为空,因为它尚未初始化。@venerik,这是我的观点;)在
初始化组件()之后我正在检查条件是否满足,我正在尝试打开Dashboard.xaml。你说“在初始化组件()之后;”是什么意思?