La maggior parte delle applicazioni Windows Phone dispone di una sezione dove permettere all'utente di configurare l'applicazione, cambiare comportamenti. Spesso, l'applicazione stessa necessita di memorizzare informazione di sessione.
Il modo più rapido per raggiungere questo obbiettivo è di sfruttare la classe IsolatedStorageSettings che, con un pattern su proprietà, può semplificare notevolmente il salvataggio di tutte queste informazioni. La classe è, di fatto, un dizionario, che permette di memorizzare, in base ad una chiave di tipo stringa, qualsiasi oggetto primitivo, come stringhe, interi, date e booleani, oppure tipi complessi, a patto che siano serializzabili con il DataContractSerializer.
Nello snippet seguente si propone la definizione di una proprietà per esporre un'impostazione e per poterla mettere in binding o farne accesso facilmente.
private const string myKey = "mykey"; public static string MyKey { get { string v; if (IsolatedStorageSettings.ApplicationSettings.TryGetValue(myKey, out v)) return v; return null; } set { IsolatedStorageSettings.ApplicationSettings[myKey] = value; } }
Grazie al metodo TryGetValue, si gestisce il valore di default, in modo da non incorrere in errori quando l'utente avvia per la prima volta l'applicazione o quando questa è stata aggiornata. Non è necessario fare nessun'altra operazione, perché il dizionario viene salvato e caricato automaticamente dal sistema allo startup e alla chiusura. Se si vuole essere sicuri di persistere i dati in un preciso momento è necessario richiamare IsolatedStorageSettings.ApplicationSettings.Save().
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire liste di tipi semplici con Entity Framework Core
Assegnare un valore di default a un parametro di una lambda in C#
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Recuperare l'ultima versione di una release di GitHub
Implementare l'infinite scroll con QuickGrid in Blazor Server
Creare gruppi di client per Event Grid MQTT
Utilizzare Copilot con Azure Cosmos DB
Proteggere le risorse Azure con private link e private endpoints
Testare l'invio dei messaggi con Event Hubs Data Explorer
Gestione dei nomi con le regole @layer in CSS
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Cambiare la chiave di partizionamento di Azure Cosmos DB