Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Xamarin.Forms中推送现有页面_C#_Xamarin_Xamarin.forms_Xamarin.android - Fatal编程技术网

C# 在Xamarin.Forms中推送现有页面

C# 在Xamarin.Forms中推送现有页面,c#,xamarin,xamarin.forms,xamarin.android,C#,Xamarin,Xamarin.forms,Xamarin.android,我正在制作一个基于Xamarin.Forms的文本游戏。 目前我的主页上有一个“开始游戏”按钮。 我使用NavigationPage进入游戏页面,如下所示: Navigation.PushAsync(new GamePage()); 我正在尝试添加一个“恢复游戏”按钮,该按钮将进入游戏页面,但包含其中存在的所有数据。 基本上,我希望这样,当你退出“游戏页面”时,数据不会被擦除。你可以随时恢复。 我想知道这是否是可能的,因为在调用页面时,游戏页面上的数据太多了,只需调用所有数据即可。您可以在

我正在制作一个基于Xamarin.Forms的文本游戏。 目前我的主页上有一个“开始游戏”按钮。 我使用NavigationPage进入游戏页面,如下所示:

  Navigation.PushAsync(new GamePage());
我正在尝试添加一个“恢复游戏”按钮,该按钮将进入游戏页面,但包含其中存在的所有数据。 基本上,我希望这样,当你退出“游戏页面”时,数据不会被擦除。你可以随时恢复。
我想知道这是否是可能的,因为在调用页面时,游戏页面上的数据太多了,只需调用所有数据即可。

您可以在游戏页面的构造函数中定义游戏数据。您可以通过构造函数轻松地将数据传递到此游戏页面。例如:

Navigation.PushAsync(new GamePage(gameData));

而且您的数据不会擦除。

无法将现有页面直接加载到Xamarin中。您需要考虑另一种存储游戏状态的方法

最简单的方法是使用一个文本文件(xml、json…),将其作为参数加载并传递到页面


不要忘记在应用程序生命周期的不同事件中保存状态,以避免数据丢失。

如何退出GamePage?@DennisSchröer通常使用后退按钮。我想这样做,即使你关闭了应用程序,你仍然可以从上一个游戏中恢复。然后你需要将数据保存在数据库中,并在每次创建或导航页面时加载数据。我已经知道这种方法,但由于数据太多,格式不同,我认为无法完成。是的,但作为@请注意,您可以存储加载的每个页面的数据状态。您可以将这些数据保存到localdb(sqlite等)。应用程序生命周期中断后,您可以检查状态,获取数据并与用户交互,请求加载其数据。