我正在为Windows Phone 8.1开发一些应用程序,我遇到了这个问题:
有1个表单,带有一些复选框,单选按钮和一些文本字段。当我填写它,然后转到下一个表单:
Frame.Navigate(typeof(SOME_FORM));
我有一些事要做,想要回到第一种形式,它已全部清除。当我从第二个回来时,如何记住我填写的第一张表格?
我以编程方式添加所有控件,因此无法将其保存在静态变量中。 有什么帮助吗?
答案 0 :(得分:1)
在您的第一页设置属性NavigationCacheMode为Required 在XAML中
NavigationCacheMode="Required"
或在
背后的代码中this.NavigationCacheMode = NavigationCacheMode.Required;
但问题是:你什么时候向页面添加控件?如果你在OnNavigatedTo中添加控件,你应该检查NavigationMode并且不要在后面的导航上重新加载页面
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.NavigationMode == NavigationMode.Back)
{
//do nothing - filled controls already there
return;
}
//add controls
}