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
Ridimensionamento automatico input tramite CSS
Rendere le variabili read-only in una pipeline di Azure DevOps
Configuratione e utilizzo .NET Aspire CLI
Ottimizzare le performance usando Span<T> e il metodo Split
Ospitare n8n su Azure App Service
Gestire progetti .NET + React in .NET Aspire
Gestione file Javascript in Blazor con .NET 9
Utilizzare Intersect e Except per filtrare set di dati in TSql
Utilizzare Container Queries nominali
Recuperare le subissue e il loro stato di completamento in GitHub
Definire il metodo di rilascio in .NET Aspire
Ricevere notifiche sui test con Azure Load Testing


