Windows phone 8应用程序,类型为'System.NullReferenceException
本文关键字:NullReferenceException System phone 应用程序 类型 Windows | 更新日期: 2023-09-27 18:10:58
我有一个windows phone 8应用程序在this.NavigationService上崩溃的问题。导航(新Uri("/仪表盘。xaml",UriKind.Relative));行,当它试图导航到新页面时。应用程序应该加载到欢迎页面,如下所示,检查这是否是用户第一次打开应用程序,如果是,它应该留在该页面,直到用户点击按钮继续。但如果这不是用户第一次打开应用程序,它应该检查,然后直接进入仪表板。但是错误在这里,它不想导航,因为它显示了下面的错误。我已经浏览了关于这个错误信息的所有其他帖子,但没有答案可以帮助解决当前的情况。
这是给出的错误信息;
类型为'System '的异常。在Good Morning Dashboard.DLL中发生了NullReferenceException,但没有在用户代码中处理。附加信息:对象引用未设置为对象的实例。如果有此异常的处理程序,则可以安全地继续执行程序。
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using Good_Morning_Dashboard.Resources;
using System.IO.IsolatedStorage;
namespace Good_Morning_Dashboard
{
public partial class MainPage : PhoneApplicationPage
{
public bool trueOrFalse;
public string result;
public MainPage()
{
InitializeComponent();
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (!settings.Contains("DataKey"))
{
settings.Add("DataKey", "First Time");
}
else
{
settings["DataKey"] = "Not First Time";
this.NavigationService.Navigate(new Uri("/Dashboard.xaml", UriKind.Relative));
}
settings.Save();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.Navigate(new Uri("/Dashboard.xaml", UriKind.Relative));
}
}
}
提前感谢!:)
使用NavigationService
的地方是有限制的。我相信您不能在页面构造函数中使用它,因为到那时它还没有准备好。你可能想把它放在Page.OnNavigatedTo
覆盖:
public MainPage()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (!settings.Contains("DataKey"))
{
settings.Add("DataKey", "First Time");
}
else
{
settings["DataKey"] = "Not First Time";
this.NavigationService.Navigate(new Uri("/Dashboard.xaml", UriKind.Relative));
}
settings.Save();
}