C# UWP 如何创建保存文件

C# UWP how to create a save file

所以我是新手,我需要一些指导,我有一个应用程序(tichu 计数器) 在此应用程序中,我处理了一些控件和事件。

下面是部分。
在导航到应用程序的页面之前,我想创建另一个页面来计算人们的分数。在该页面中,我有 2 个选项,一个 "New Game" 和 "Resume Game"。 我的问题是我不知道如何保存我的值以及如何在恢复游戏时调用它们。

我有 2 个列表视图要显示我的 class Score.Each 团队获取要显示的值,listA 到团队 A 的 ListView,ListB 到团队 B 的 ListView。

// So the listview knows something changed.
private ObservableCollection<Score> Scores;
//on page load
Scores = new ObservableCollection<Score>();

// this is how i add the scores inside the Score class
//teamAscore and teamBscore are the scores the user has typed inside
//the 2 textboxes i have(shown in picture below)
Scores.Add(new Score { ListA = teamAScore, ListB = teamBScore });

public class Score
{
    public int ListA { get; set; }
    public int ListB { get; set; }
}

对于列表,我有 2 个文本块,一个用于 A 队,一个用于 B 队。它们位于每个列表视图上方,并显示其团队的总分,如图所示 (http://prntscr.com/akavl6)。

一件事是,如果我关闭页面并重新打开它,Class 并且文本块不会保留它们已有的值。而且我几乎不知道该怎么做,所以我将我的列表和总分保存在某处,这样我可以在返回页面时恢复它们或删除它们并开始一个新游戏,所有值都为 0。

将值保存到本地存储是您想要的。现在,如果它是单个值,您可以通过将它们分配给本地存储中的字符串变量来轻松存储它。
但建议您合并 SQlite database。由于您正在处理两个 ListView,因此我假设数据继续呈指数增长,因此最好将这些数据保存在数据库中,而不是保存在本地存储中的某些 .txt 文件中或为每个条目创建新变量。
虽然这很耗时,而且需要更多代码,但有了它,您可以以更好的格式保存用户数据。
虽然可以选择在导航时使用 static dataparameter passing,但这会导致应用程序会话结束后数据丢失,应用程序关闭。