Salvare lo stato legato ad attivazione e disattivazione di applicazioni Silverlight per Windows Phone 7
Le applicazioni basate su Windows Phone 7 sono disattivate quando l'utente va verso un'altra applicazione, per poi essere riattivate se l'utente ci ritorna, ad esempio facendo seguito al click sul pulsante back, o in seguito all'azione legata all'esecuzione di uno Chooser o di un Launcher.
In tal senso, l'applicazione può salvare informazioni in questo stato transiente, sfruttando la classe PhoneApplicationService, che offre un metodo State che può essere utilizzato a tale scopo. Di seguito una implementazione che consente di recuperare queste informazioni facilmente da questo storage:
public static class StateStorage { public static T Read<T>(string key) where T : class { try { if (PhoneApplicationService.Current.State.ContainsKey(key)) return PhoneApplicationService.Current.State[key] as T; return default(T); } catch { return default(T); } } public static void Write<T>(string key, T value) where T : class { if (PhoneApplicationService.Current.State != null) PhoneApplicationService.Current.State[key] = value; } }
Qualora ci fosse la necessità di sfruttare uno storage permanente, le applicazioni Windows Phone basate su Silverlight possono accedere all'Isolated Storage, che funziona nello stesso identico modo rispetto alla versione "completa" di Silverlight.







