wp7 - application.current as app Value不能为null

时间:2011-02-15 12:28:04

标签: windows-phone-7 argumentnullexception

我在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的内容,但我不确定这是不是我看的内容。有没有人有任何想法?

1 个答案:

答案 0 :(得分:2)

正在抛出ArgumentNullException,因为您尝试为Text属性设置的值为null,这是您无法做到的; Text属性不是可以为空的类型。

在不知道如何以及何时设置这些应用程序级别属性的情况下,很难提供一个很好的解释,说明为什么行为因您的重构而有所不同,但您可以:

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