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
Eseguire i worklow di GitHub su runner potenziati
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Creare una custom property in GitHub
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Creare una libreria CSS universale: Nav menu
Utilizzare WhenEach per processare i risultati di una lista di task
Creare una libreria CSS universale: Immagini
Gestione dei nomi con le regole @layer in CSS
Ricevere notifiche sui test con Azure Load Testing
Creare una libreria CSS universale: Cards
Configurare lo startup di applicazioni server e client con .NET Aspire
I più letti di oggi
- Eseguire query in contemporanea con EF
- Fissare una versione dell'agent nelle pipeline di Azure DevOps
- .NET Aspire per applicazioni distribuite
- Utilizzare Locust con Azure Load Testing
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
- Repaint, Reflow e Compositing: Come Funziona il Rendering nel Browser
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!