L'interfaccia di Windows Phone basa la sua esperienza sulla navigazione tra pagine, non solo all'interno di un'applicazione, ma estesa anche a tutte le altre che l'utente ha aperto e navigato. Questa esperienza è così importante che i dispositivi devono avere obbligatoriamente il pulsante back per permettere all'utente di tornare alla pagina precedente.
Vi sono situazioni in cui però si sfruttano le pagine per mostrare informazioni transitorie, come uno splash screen che esegue attività, o per caricare informazioni sempre nella stessa pagina, ma che per inutilità o facilità di navigazione non ha senso tenere nel journal di navigazione dell'utente. Con Windows Phone 7.1 sono state inserite quindi la proprietà BackStack e il metodo RemoveBackEntry per permettere rispettivamente di leggere la lista di navigazione e di rimuovere l'ultima pagina navigata che precede quella corrente. Questi membri sono disponibili sia sul PhoneApplicationFrame che sul NavigationService.
Ponendo quindi di avere una pagina come splash screen, ecco quindi cosa fare nella pagina principale della propria applicazione.
public partial class MainPage : PhoneApplicationPage { protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); if (this.NavigationService.BackStack.Any()) this.NavigationService.RemoveBackEntry(); } }
Nell'esempio si controlla che ci sia effettivamente una pagina che precede quella corrente, per evitare di chiamare il metodo in altre situazioni.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
.NET Aspire per applicazioni distribuite
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Ridurre il reflow cambiando il CSS
Eseguire script pre e post esecuzione di un workflow di GitHub
Anonimizzare i dati sensibili nei log di Azure Front Door
Ordine e importanza per @layer in CSS
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Collegare applicazioni server e client con .NET Aspire
Testare l'invio dei messaggi con Event Hubs Data Explorer
Eseguire query in contemporanea con EF
Gestire progetti NPM in .NET Aspire
I più letti di oggi
- .NET Conference Italia 2024 - Milano
- Ancora un bug: esce Mono 0.23
- Metro Style App per Windows 8 con HTML e Javascript
- Scadenza della password in ASP.NET Identity
- Autorizzare una chiamata in base allo scope in ASP.NET Core
- Impostare il claim desiderato per il nome utente in ASP.NET Core con Microsoft Identity
- Leggere il valore di un header della richiesta in ASP.NET Core 6
- Convertire in un array di un tipo un ArrayList
- Tutorial Entity Framework 6
- ASP.NET 4.0 in C# e VB