我在MainPage.xaml.cs中有一个Instance成员,即在从PhoneApplicationPage扩展的MainPage类中 当我导航到另一个页面并再次返回时,我希望获得Instance成员的值...如何在页面调用中保持不变? 只有几页,成员对象类很小
我应该推入PhoneApplicationService吗?进入州?
这是最干净,表现最好的方式吗?
第一次在Mobile dev ... Thanx提前:)
答案 0 :(得分:1)
一般情况下,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或Sterling等数据库解决方案
答案 1 :(得分:0)
我认为实例成员在导航期间不会被销毁,除非从backstack中移除页面或者应用程序被逻辑删除。您不必编写额外的代码行来保持实例成员的活动。因此,您不必将其存储在PhoneApplicationService的状态中。