Nello script precedente abbiamo visto come l'AppBar sia il controllo in cui inserire i menu dei comandi delle applicazioni Windows Store.
Secondo i criteri del Windows UI Style, i pulsanti relativi a funzioni dovrebbero avere un'icona monocromatica vettoriale, circoscritta da un cerchio di 40 pixel, con sotto una breve parola che ne descriva la funzione.
Per semplificare questo design, il template dei progetti Visual Studio includono uno Style specifico per il controllo Button, affinchè il suo aspetto segua i suddetti requisiti: lo Style AppBarButtonStyle.

Nell'immagine precedente possiamo vedere uno Button standard e uno a cui è applicato AppBarButtonStyle.
L'AppBarButtonStyle utilizza il testo inserito nella proprietà AutomationProperties.Name proprio per renderizzare il testo che descrive il pulsante.
<Button AutomationProperties.Name="Apri" Content="A" Style="{StaticResource AppBarButtonStyle}" />
Oltre allo Style di base, il template di progetto include una serie di Style specifici per le operazioni più comuni, con le relative icone. Ad esempio, possiamo trovare UndoAppBarButtonStyle, RedoAppBarButtonStyle, MailForwardAppBarButtonStyle e moltissimi altri.
Tali Style non includono singole icone ma utilizzano il font Segoe UI Symbol e i rispettivi codici per ciascun carattere speciale: undo e redo, ad esempio, sono rappresentati con  e , con il seguente risultato.

La scelta di utilizzare un carattere di un font anzichè un'immagine semplifica notevolemente la personalizzazione degli stati visuali del Button grazie alla proprietà Foreground di cui esso è dotato. Tale proprietà viene implicitamente trasferita al Textblock che viene inserito nel ContentPresenter, qualora la proprietà Content contenga una stringa.
Poichè Foreground è una proprietà diretta di Button, questa può essere variata attraverso il Visual State Manager ad esempio per cambiare il colore all'icona durante lo stato pressed.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire il timing sugli eventi all'interno di un'applicazione Blazor
Utilizzare le Promise in Javascript - seconda parte
Produttività con ASP.NET Core 6
Utilizzare azurite come simulatore di Azure Storage
Utilizzare il proxy del WebServer di Angular per simulare chiamate ad API sullo stesso dominio
Utilizzare SFTP con Azure Storage Blob
Caricare immagini a differenti risoluzioni in HTML con srcset
Sviluppare applicazioni serverless con Azure Container Apps
Migrare da Azure DevOps a GitHub
Personalizzare la creazione dell'utenze Azure B2C tramite API connector
Creare un form con Bootstrap 5
Generare un QR Code da ASP.NET Web API
I più letti di oggi
- Gestire form con più di un pulsante submit in ASP.NET MVC
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Costruire applicazioni native per ogni dispositivo con .NET e Visual Studio
- Usare TryUpdateModelAsync per aggiornare le entity nelle action di POST in ASP.NET Core MVC
- Creare un componente Button in Blazor per operazioni asincrone
- Invalidare un token JWT prima della scadenza con ASP.NET Core Identity
- Blazor PWA e Offline-First
- DateOnly e TimeOnly in .NET: e io che ci faccio?
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!