首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在离开和返回页面时保留文本字段数据

如何在离开和返回页面时保留文本字段数据
EN

Stack Overflow用户
提问于 2013-04-29 02:31:11
回答 1查看 267关注 0票数 0

我正在写一个高尔夫球应用程序。每个人在每个洞的文本框中输入他的分数,然后可选地导航到另一个页面。我遇到的问题是,当我单击到另一个页面,然后返回到那个页面时,我希望数字留在那里。如何做到这一点?

这是我的文本框和文本块的代码:

代码语言:javascript
复制
private void Calculate_Click(object sender, RoutedEventArgs e)
{

    int x1 = 0;
    Int32.TryParse(textBox1.Text, out x1);
    int x2 = 0;
    Int32.TryParse(textBox2.Text, out x2);
    int x3 = 0;
    Int32.TryParse(textBox3.Text, out x3);
    int x4 = 0;
    Int32.TryParse(textBox4.Text, out x4);
    int x5 = 0;
    Int32.TryParse(textBox5.Text, out x5);
    int x6= 0;
    Int32.TryParse(textBox6.Text, out x6);
    int x7 = 0;
    Int32.TryParse(textBox7.Text, out x7);
    int x8 = 0;
    Int32.TryParse(textBox8.Text, out x8);
    int x9 = 0;
    Int32.TryParse(textBox9.Text, out x9);


    int[] totalScore = new int[10];
    totalScore[0] = x1;
    totalScore[1] = x2;
    totalScore[2] = x3;
    totalScore[3] = x4;
    totalScore[4] = x5;
    totalScore[5] = x6;
    totalScore[6] = x7;
    totalScore[7] = x8;
    totalScore[8] = x9;
    int sum = totalScore.Sum();
    TotalBlock.Text = sum.ToString();


    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-29 02:56:06

当你导航到一个页面时,它会被实例化(假设你在Silverlight上运行)。当您离开它时,状态将保存在堆栈中。如果向后导航(通过调用NavigationService类上的GoBack方法),页面将从其状态恢复,而不调用构造函数。

但是,如果您离开现有页面,并通过调用导航方法重新导航到该页面,则会实例化该页面的全新实例,因此将再次调用该构造函数。

另请参阅:Windows phone 7 - the page life cycle

这意味着,如果使用导航方法,则所有字段都为空,因为会创建页面的新实例。如果希望保持TextBlock控件的状态,则必须临时存储内容。您可以通过添加以下using语句来使用IsolatedStorageSettings

代码语言:javascript
复制
using System.IO.IsolatedStorage;

现在,您可以将字符串(在本例中为TextBlock内容)保存到独立存储,如下所示:

代码语言:javascript
复制
public void SaveStringObject()
{
    var settings = IsolatedStorageSettings.ApplicationSettings;
    settings.Add("myContent", "foobar");
}

在您的导航方法中调用SaveStringObject方法之后,您需要通过调用IsolatedStorageSettings.Save方法保存设置。

如果返回到包含TextBlock控件的页面,则可以使用以下代码来检索TextBlock控件的内容:

代码语言:javascript
复制
TotalBlock.Text = settings["myContent"].ToString();

发布的代码片段不完整。您可以在这里获得使用IsolatedStorage的一个很好的示例:IsolatedStorage Sample

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16266253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档