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
Integrazione di Copilot in .NET Aspire
Configurare automaticamente un webhook in Azure DevOps
Eliminare record doppi in Sql Server
Rendere le variabili read-only in una pipeline di Azure DevOps
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Abilitare .NET 10 su Azure App Service e Azure Functions
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Gestire progetti NPM in .NET Aspire
Configuratione e utilizzo .NET Aspire CLI
Ridimensionamento automatico input tramite CSS
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Gestione file Javascript in Blazor con .NET 9
I più letti di oggi
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Sfruttare una CDN con i bundle di ASP.NET
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Inserire le news di Punto Informatico nel proprio sito
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Le DirectInk API nella Universal Windows Platform


