【问题标题】:Is possible to save locally a view object in xamarin forms?是否可以在本地以 xamarin 形式保存视图对象?
【发布时间】:2022-01-27 00:35:58
【问题描述】:

我需要在本地(在文件上)保存一个 StackLayout 对象,因为我需要保存页面的当前状态,所以我只是想知道是否可以。

编辑:解决方案

正如我所见,没有解决办法! 这是因为视图是不可序列化的,所以也不可能将视图序列化为字符串(相信我,我都试过了),唯一的方法是通过保存和加载简单类型的数据来重新生成页面,例如int 或 string(因为只能序列化简单的数据)。

【问题讨论】:

  • 你不能只保存一个视图元素。您需要编写一些自定义代码,以便您根据模型和驱动页面的任何其他参数保存然后重新生成页面状态

标签: c# xamarin.forms


【解决方案1】:

根据你的需要,我想你只需要保存用户的数据并在启动时恢复即可。

可以使用Xamarin.Forms中的FileHandling来保存用户的数据,然后每次启动时重写OnAppearing方法,恢复方法内部的数据。

有关文件处理的更多信息,请参考:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/data/files?tabs=macos#saving-and-loading-files

【讨论】:

  • 感谢您的回复,问题是我不知道如何保存用户数据,因为视图和子对象不可序列化。
  • 可以使用类或集合来存储。然后将其序列化为字符串,然后使用我提供的文档存储。
  • 好的,所以你建议我将所有视图存储在列表中,而不是将列表转换并保存为字符串?
  • 1.将列表序列化为字符串。 2 使用文件处理保存。
猜你喜欢
  • 2018-02-19
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2019-05-11
相关资源
最近更新 更多