如何在页面上导航后保存页面上的内容
本文关键字:保存 导航 | 更新日期: 2023-09-27 18:15:34
我有一个有4个文本框的页面。每次按下TextBox时,我都使用NavigationService
导航到新页面,以便通过Itembox进行舒适的输入。我使用NavigationContext
来发送Itembox中的选择。但是每次导航回第一页时,页面的构造函数被调用,我看到的是空的文本框,而不是填充的。
我怎样才能避免这种情况?
您是否使用NavigationService.Navigate()
主动导航"返回"到您的主页?不要这样做,只使用NavigationService.GoBack()
或让用户使用后退按钮。
可以通过PhoneApplicationService.Current.State
传输值。将此添加到用户在Itembox中输入值的页面:
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
PhoneApplicationService.Current.State["name"] = "value";
base.OnNavigatedFrom(e);
}
当用户返回主页面时保存该值。在主页代码中添加:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (PhoneApplicationService.Current.State.ContainsKey("name"))
textBox1.Text = (string)PhoneApplicationService.Current.State["name"];
}
这将尝试获取值并将其设置为TextBox
。