Una delle caratteristiche che distingue un'applicazione immersiva da una classica, per il desktop, è la presenza dell'Application Bar: si tratta di una "barra" a scomparsa, che mostra i comandi contestuali alla pagina e alle azioni correnti.
Prima di Windows 8.1 non esistevano controlli creati allo scopo: per ricreare l'UI dell'Application Bar si usavano i classici Button, opportunatamente stilizzati.
Adesso abbiamo a disposizione dei controlli creati ad hoc per essere utilizzati: AppBarButton, AppBarToggleButton e AppBarSeparetor.
Una delle caratteristiche più importanti che accomuna AppBarButton e AppBarToggleButton è la possibilità di settare l'icona visualizzata semplicemente impostando la proprietà Icon, del tipo IconElement e che comprende le seguenti opzioni:
- FontIcon: è un'icona basata sui glyph dipendenti dalla font family.
- BitmapIcon: è un'icona basata su di una bitmap, tipicamente una PNG.
- PathIcon: è un'icona basata su di un Path vettoriale.
- SymbolIcon: è un'icona basta su di un set di glyph, appartenenti al font Segoe UI Symbol.
Eccone un esempio:
<AppBarButton Label="BitmapIcon" Click="AppBarButton_Click"> <AppBarButton.Icon> <BitmapIcon UriSource="ms-appx:///Assets/MyIcon.png"/> </AppBarButton.Icon> </AppBarButton>
L'esempio precedente mostra un AppBarButton che utilizza una BitampIcon. Il codice per impostare l'icona di un AppBarToggleButton sarà del tutto analogo. Questi controlli dispongono di due modalità di visualizzazione, normale e compatta, ottenibile rispettivamente impostando la proprietà IsCompact a false o true; se impostata a true, il testo posto sotto il bottone verrà nascosto e i margini ridotti.
Il testo che appare sotto ogni bottone è controllato dalla proprietà Label, senza la necessità di applicare uno style custom.
Infine. è possibile aggiungere un separatore tra bottoni con il controllo AppBarSeparetor, che, molto semplicemente, rappresenta una linea utile per separare funzioni logicamente non collegate tra loro.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Path addizionali per gli asset in ASP.NET Core MVC
Ricevere notifiche sui test con Azure Load Testing
Combinare Container Queries e Media Queries
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Il nuovo controllo Range di Blazor 9
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Gestire progetti NPM in .NET Aspire
Gestione ciclo di vita in .NET Aspire
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Escludere alcuni file da GitHub Secret Scanning
Creare una libreria CSS universale: i bottoni
Disabilitare le run concorrenti di una pipeline di Azure DevOps