所以我正在尝试更改 Windows 8 应用程序中的框架。我尝试按照以下教程进行操作这一页 http://www.c-sharpcorner.com/UploadFile/99bb20/passing-multiple-values-between-pages-in-metro-style-app-usi/,但我不断收到同样的错误。
我收到一个 ArgumentNullException 异常:
frameState[_pageKey] = pageState;
在 LayoutAwarePage.cs 类的 OnNavieratedFrom 方法中。
现在我不确定为什么会出现此错误,因为我觉得我的代码中没有任何可能导致此错误的原因。我的按钮 onclick 函数有以下代码:
DateTime chosenDateTime = new DateTime(year, month, day, hours, minutes, seconds);
this.Frame.Navigate(typeof(MainPage), chosenDateTime.ToString());
我的 MainPage 中的 OnNavigedTo 方法如下所示:
protected override void OnNavigatedTo(NavigationEventArgs e) {
string parameter = (string)e.Parameter;
if (parameter != "") {
Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
roamingSettings.Values["chosenDateTime"] = parameter;
chosenDateTime = Convert.ToDateTime(e.Parameter);
} else {
Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
if (roamingSettings.Values.ContainsKey("chosenDateTime")) {
chosenDateTime = Convert.ToDateTime(roamingSettings.Values["chosenDateTime"].ToString());
}
if (roamingSettings.Values.ContainsKey("headline")) {
chosenDateTextBlock.Text = roamingSettings.Values["headline"].ToString();
}
}
SetTime();
}
谁能给我一些关于如何解决这个问题的信息?
Thanks.