Windows phone 7 wp7-application.current作为应用程序值不能为null

Windows phone 7 wp7-application.current作为应用程序值不能为null,windows-phone-7,argumentnullexception,Windows Phone 7,Argumentnullexception,我在App.xaml.cs文件中放置了一些属性,在浏览应用程序时,我使用该文件存储数据并填充文本框: public String appRXName { set; get; } public String appRXNumber { set; get; } 最初我有一个pivot控件,它调用不同的页面来收集数据,但后来我将该pivot控件项移到它自己的页面,该页面仍然调用其他页面来收集数据。现在,当我运行应用程序时,我得到一个错误 基本上,当我把它放在原来的Pivot控件中时,

我在App.xaml.cs文件中放置了一些属性,在浏览应用程序时,我使用该文件存储数据并填充文本框:

    public String appRXName { set; get; }
    public String appRXNumber { set; get; }
最初我有一个pivot控件,它调用不同的页面来收集数据,但后来我将该pivot控件项移到它自己的页面,该页面仍然调用其他页面来收集数据。现在,当我运行应用程序时,我得到一个错误

基本上,当我把它放在原来的Pivot控件中时,它就工作了。一旦我将其移动到一个单独的页面(pivot页面调用它),我就开始出现以下错误:

System.ArgumentNullException was unhandled Message=Value can not be null. Parameter name: Text
无论我点击哪个页面,列表中的第二项总是显示错误

txtRxNotes.Text = (Application.Current as App).appDosageNotes;
txtQuantity.Text = (Application.Current as App).appQuantity.ToString();

我在网上找到了一些关于RootVisual的东西,但我不确定这是否是我所看到的。有人有什么想法吗?

正在抛出
ArgumentNullException
,因为您试图为
文本
属性设置的值为null,而您无法执行此操作;
Text
属性不是可为空的类型

在不知道如何以及何时设置这些应用程序级属性的情况下,很难很好地解释自重构以来行为不同的原因,但您可以:

  • 在访问这些应用程序级属性的代码中进行空检查
  • 在应用程序构造函数中将应用程序级属性初始化为
    string.Empty

引发异常之前,AppDosAgentes和appQuantity的值是多少?它们中有一个为空吗?不要使用
(Application.Current作为App).Foo
,而是使用
((App)Application.Current).Foo
。在第一种情况下,如果
Application.Current
不是
App
,则会出现空引用异常,这是错误的,因为它实际上只是无效类型。仅当您需要知道是否可以强制转换为给定类型,然后使用强制转换对象时,才使用
作为
运算符。另外,您确定txtRxNotes/txtQuantity不为null吗?@Derek-它们可能都为null。这是在我第一次使用此屏幕开始添加数据时发生的。我是否需要在每个属性周围包装一个检查以检查它是否为空?有没有办法进行更多的全局检查?为什么在我将代码从主页(pivot)移动到pivot调用的单独页面后会发生这种情况?我对所有内容都进行了空检查,这似乎很有效。。。但是,我喜欢在初始化应用程序级属性时使用字符串.Empty修复。我也要试试。谢谢你的帮助!