我正在尝试使用Visual Studio 2015在C#中开发适用于Windows 8.1的通用应用程序。为了测试,我在Windows项目中的RoamingSettings中保存了一些文本,然后在尝试在Windows Phone项目中读取该文本时应用程序因“崩溃”而崩溃NullRefrenceException“..这是我的代码
Windows Project中的:
Windows.Storage.ApplicationDataContainer RoamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
RoamingSettings.Values["USERNAME"] = userNameInput.Text;
Windows Phone项目中的:
Windows.Storage.ApplicationDataContainer RoamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
myTextBlock.Text = RoamingSettings.Values["USERNAME"].ToString();
正如我提到的Windows Phone应用程序在模拟器和物理手机中崩溃,我是否为此功能编写了所需的代码?漫游设置/文件夹是存储通用应用数据的地方吗?
感谢您的时间
答案 0 :(得分:2)
首先,要使漫游设置生效,您需要使用相同的Microsoft
帐户登录这两台设备。
这些设置无法立即同步,因此您无法在更新Windows
设备上的设置后立即在手机设备上对其进行测试。
另外,请务必检查您要检索的值是否不是null
:
if(RoamingSettings.Values.ContainsKey("USERNAME"))
{
myTextBlock.Text = RoamingSettings.Values["USERNAME"].ToString();
}
在此之后你不应该得到任何NullReferenceException
,但是当值稍后同步时,if
块中的代码将最终执行。