因此,我正在尝试在Windows 8应用程序中更改框架。我尝试按照this page上的教程进行操作,但始终收到相同的错误。

我在行上收到ArgumentNullException:

frameState[_pageKey] = pageState;

在LayoutAwarePage.cs类的OnNavigatedFrom方法中。

现在,我不确定为什么会收到此错误,因为我觉得没有什么可能导致此错误。我的按钮onclick函数具有以下代码:
DateTime chosenDateTime = new DateTime(year, month, day, hours, minutes, seconds);
this.Frame.Navigate(typeof(MainPage), chosenDateTime.ToString());

我的MainPage中的OnNavigatedTo方法如下所示:
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();
}

谁能给我一些有关如何解决此问题的信息?

谢谢。

最佳答案

好了,所以我找到了自己问题的答案!

在这两个页面上,我指的是,至少必须实现这两种方法的最少实现:

protected override void OnNavigatedTo(NavigationEventArgs e) {
    base.OnNavigatedTo(e);
}

protected override void OnNavigatedFrom(NavigationEventArgs e) {
    base.OnNavigatedFrom(e);
}


base.OnNavigatedFrom(e);
base.OnNavigatedTo(e);

在方法中非常重要。

关于c# - 更改框架时出现ArgumentNullException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13790344/

10-12 00:00