gpt4 book ai didi

c# - Pagekey 在 layoutawarepage 的 OnNavigatedFrom 中变为 null

转载 作者:太空狗 更新时间:2023-10-29 22:32:54 25 4
gpt4 key购买 nike

我正在开发一个 Windows 8 应用程序,我有以下页面,一个联系人选择器页面,其中有一个带有以下代码的提交按钮

 customContact = (CustomContacts)contactView.SelectedItem;   
this.Frame.Navigate(typeof(AddTask), customContact);

我的AddTask页面有以下方法

 protected  override void OnNavigatedTo(NavigationEventArgs e)
{ if (e.Parameter == null)
{code logic }}

现在我在单击按钮期间在布局感知页面中遇到错误,因为 PageKey 在其 onnavigatedfrom 事件中为 null

  protected override void OnNavigatedFrom(NavigationEventArgs e)
{
var frameState = SuspensionManager.SessionStateForFrame(this.Frame);
var pageState = new Dictionary<String, Object>();
this.SaveState(pageState);
frameState[_pageKey] = pageState;
}

请帮帮我

最佳答案

_pageKey 值在 LayoutAwarePage.OnNavigatedTo 中设置。由于您在自己的页面中覆盖了 OnNavigatedTo 而没有调用基本实现,因此永远不会调用 LayoutAwarePage 设置 _pageKey 中的代码。

当覆盖一个方法时,你应该总是调用它的基础实现,除非你非常清楚你为什么不这样做。添加对 base.OnNavigatedTo(e) 的调用应该可以解决您的问题:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (e.Parameter == null)
{
// code logic
}
}

关于c# - Pagekey 在 layoutawarepage 的 OnNavigatedFrom 中变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com