我在 MainPage.xaml.cs 中有一个 Instance 成员,即在从 PhoneApplicationPage 扩展的 MainPage 类中。当我导航到另一个页面并再次返回时,我希望获得 Instance 成员的值......我如何在 Page 调用中保持不变?只有几页,成员对象类很小
我应该推入PhoneApplicationService吗?并进入国家?
这是最干净,性能最好的方式吗?
第一次在移动开发中......提前感谢:)
我在 MainPage.xaml.cs 中有一个 Instance 成员,即在从 PhoneApplicationPage 扩展的 MainPage 类中。当我导航到另一个页面并再次返回时,我希望获得 Instance 成员的值......我如何在 Page 调用中保持不变?只有几页,成员对象类很小
我应该推入PhoneApplicationService吗?并进入国家?
这是最干净,性能最好的方式吗?
第一次在移动开发中......提前感谢:)
在一般使用中,Page 实例将保存在 RAM 中——因此您无需执行任何操作。
但是,在墓碑情况下,您的页面实例将从 RAM 中刷新。
要保留值或字符串,最简单的方法是将值保存/加载到 IsolatedStorageSettings - http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings(v=VS .95).aspx
您可以使用 OnNavigateTo 方法来加载它,并使用 OnNavigatedFrom 方法来保存它。
如果你需要持久化一个更大或更复杂的对象,那么你可以使用 JSON 或 XML 来序列化/反序列化对象——你可以考虑使用更通用的存储技术——例如,IsolatedStorage 中的文件或 SQLCE、SQLite 等数据库解决方案或英镑
我认为实例成员不会在导航期间被破坏,除非页面从后台堆栈中删除或应用程序被墓碑化。您不必编写额外的代码行来使实例成员保持活动状态。所以你不必将它存储在PhoneApplicationService 的State 中。