Nello script di settimana scorsa, abbiamo visto come si può integrare nella Universal Windows Platform un controllo nativo per quanto riguarda il supporto ai contatti, in modo da poter mostrare, con una logica centrale e coerente con quanto esposto dal sistema operativo stesso, alcuni dati relativi a delle persone.
Il controllo XAML PersonPicture, oltre a quanto già visto, consente anche di assegnare all'utente una serie di "badge", ovvero una specie di placeholder che ne indicano lo stato, come ad esempio lo stato "occupato" di Skype quando siamo in una conferenza telefonica, piuttosto che l'appartenenza ad un team specifico all'interno di una organizzazione.
<Grid> <PersonPicture BadgeText="Mario Rossi" BadgeImageSource="Assets\red-circle-png" BadgeGlyph="?" BadgeNumber="2" ProfilePicture="Assets\profile-picture.png" /> </Grid>
Nel caso mostrato nel codice qui sopra, oltre all'immagine del profilo per illustrare la persona di cui si vuole dare contesto, sono stati aggiunti anche quattro badge di diverso tipo: il BadgeText è solo una proprietà testuale, il BadgeNumber invece è rappresentato da un numero intero e può essere utile per indicare il numero di notifiche/messaggi ricevuti da quella determinata persona, piuttosto che BadgeImageSource che può essere utilizzato per mostrare una immagine contenuta nelle risorse dell'applicazione (in questo caso un pallino rosso per indicare lo stato "occupato") e, infine, il BadgeGlyph che può essere uno qualsiasi dei simboli contenuti nel font Segoe MDL2 di Microsoft.
Esattamente come già visto per le altre proprietà del controllo PersonPicture, anche per i badge ci sono diverse priorità poiché non potranno essere mostrati tutti assieme e, di default, l'immagine ha sempre la meglio. Il risultato finale dipenderà dalle impostazioni scelte, ma sarà simile al seguente:
Il codice sorgente di questo script è disponibile su GitHub al seguente indirizzo https://github.com/aspitalia/scripts-windows/tree/master/script-204
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Miglioramenti nell'accessibilità con Angular CDK
Utilizzare Azure Cosmos DB con i vettori
Creare una libreria CSS universale: Cards
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Limitare le richieste lato server con l'interactive routing di Blazor 8
Definire stili a livello di libreria in Angular
Generare un hash con SHA-3 in .NET
Utilizzare il trigger SQL con le Azure Function
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Creazione di componenti personalizzati in React.js con Tailwind CSS
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework