【发布时间】:2011-02-15 21:22:18
【问题描述】:
我在 App.xaml.cs 文件中放置了一些属性,当我浏览我的应用程序时,我用它来存储数据和填充文本框:
public String appRXName { set; get; }
public String appRXNumber { set; get; }
最初我有一个枢轴控件,它调用不同的页面来收集数据,但后来我将该枢轴控件项移到它自己的页面上,该页面仍然调用其他页面来收集数据。现在,当我运行应用程序时出现错误。
当我将它放在原始 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 的信息,但我不确定这是否是我所看到的。有人有什么想法吗?
【问题讨论】:
-
在抛出异常之前,appDosageNotes和appQuantity的值是多少?它们中的任何一个都为空吗?
-
不要使用
(Application.Current as App).Foo,而是使用((App)Application.Current).Foo。在第一种情况下,如果Application.Current不是App,则会出现空引用异常——这是错误的,因为它实际上只是无效类型。仅当您需要知道是否可以转换为给定类型然后使用转换后的对象时才使用as运算符。你也确定 txtRxNotes/txtQuantity 不为空? -
@Derek - 他们可能都为空。当我第一次使用此屏幕开始添加数据时,就会发生这种情况。我是否需要检查每个属性以检查它是否为 NULL?有没有办法进行更多的全局检查?
-
为什么在我将代码从主页(枢轴)移动到由我的枢轴调用的单独页面后会发生这种情况?
标签: windows-phone-7 argumentnullexception