C# Windows Phone 8以编程方式打开新页面
我最近开始了wp8的开发。我知道一点,但不多。顺便说一句,我正试图务实地打开一个页面,但这个应用程序正在崩溃 我的密码在这里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中发生,但未在用户代码中处理 如果
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。你说“在初始化组件()之后;”是什么意思?