Come in ogni altra applicazione, anche nelle applicazioni Windows Store possiamo avere la necessità di inserire dei pulsanti per eseguire delle operazioni e richiamare delle funzioni.
Per la maggior parte delle funzioni non è necessario che i rispettivi pulsanti siano sempre visibili all'interno dell'interfaccia anzi: è una buona regola di design lasciare più spazio possibile al contenuto dell'app anzichè ai menu e alle pulsantiere.
Per questo scenario, in XAML abbiamo a disposizione il controllo AppBar: una classe che estende ContentControl e che può contenere appunto Button o altri controlli analoghi attraverso cui attivare specifiche operazioni.
L'AppBar si attiva attraverso il tasto destro del mouse, una gesture swipe dal bordo superiore o inferiore dello schermo oltre alla combinazione di tasti Win+Z e espone due eventi Opened e Closed a cui possiamo registrarci per conoscere rispettivamente quando la barra viene aperta e chiusa.
Sebbene l'AppBar possa essere inserita in ogni posizione, la collocazione corretta secondo gli standard di design è nella parte alta e bassa del layout: nella parte alta dovrebbero essere collocati i pulsanti di navigazione tra le sezioni mentre nella parte bassa è consigliato inserire i comandi specifici per la maschera corrente, con particolare attenzione a collocare dal margine destro quei comandi comuni ad altre sezioni dell'app, cioè che l'utente può ritrovare anche in altre parti.
Per semplificare questa implementazione, la classe Page che possiamo utilizzare per le nostre viste, espone due proprietà: TopAppBar e BottomAppBar che possiamo valorizzare appunto con due controlli AppBar da usare secondo i criteri appena descritti.
Ecco un esempio di implementazione delle due barre di comandi:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare WordPress con Azure App Service
Semplificare con un extension method l'aggiunta di filtri a run time nelle query LINQ
Forzare la lingua dell'interfaccia di Azure Active Directory B2C
Effettuare una chiamata HTTP in Angular usando le promise e RxJs 7
Compilare automaticamente applicazioni .NET 6 con le pipeline di Azure DevOps e GitHub Action
Impostare il contenuto dell'head all'interno di ogni pagina Blazor
Ottimizzare il codice JavaScript con i Shorthand Patterns - terza parte
Impostare un promemoria per ruotare le chiavi di Azure Storage
Ottimizzare il codice JavaScript con i Shorthand Patterns - prima parte
Le novità di TypeScript 4.3
Compilare un'applicazione .NET Core con una GitHub Action
Gestire il polimorfismo nella serializzazione usando un converter con System.Text.Json