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
Supportare la crittografia di ASP.NET Core con Azure Container App
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Montare Azure Blob Storage su Linux con BlobFuse2
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Usare i generics di C# con la clausola nameof in modo semplificato
Utilizzare Hybrid Cache in .NET 9
Come automatizzare il download dei report di billing da GitHub Enterprise
Nuova modale riconnessione Blazor
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Pubblicare un MCP Server in GitHub MCP Registry
Integrazione di Copilot in .NET Aspire
Gestire progetti .NET + React in .NET Aspire




