Quando si sta lavorando ad un'applicazione esistente, o a maggior ragione su una nuova, è importante dare un aspetto grafico accattivante e quanto più possibile coerente con tutto il resto dell'ecosistema. Se si ha a che fare con un gestionale o con un qualsiasi sistema in cui c'è da tenere traccia di un elenco di persone, senza troppi sforzi si può riutilizzare il componente che Windows stesso mette a disposizione tramite l'app dei contatti, per avere un look and feel similare: il controllo XAML PersonPicture, infatti, ha già una sua logica integrata per mostrare le iniziali della persona, il suo nome, o la sua immagine di profilo, in base ai valori che vengono passati.
<Grid> <PersonPicture DisplayName="Mario Rossi" ProfilePicture="Assets\mariorossi.png" Initials="MR" /> </Grid>
Poiché può essere mostrato solo un valore alla volta, è presente un meccanismo di priorità per definire quale valore mostrare: viene data la precedenza all'immagine di profilo, poiché più accattivante, mentre, qualora non ci fosse, vengono mostrati DisplayName e Initials (le iniziali), di conseguenza.
Il risultato finale sarà simile al seguente:
Per ottenere l'effetto illustrato nell'immagine però, è necessario aggiungere una relativa TextBlock affiancata al controllo PersonPicture, poiché il controllo stesso non si occupa della gestione del nome completo e il layout integrale dipende comunque dall'applicazione stessa.
Qualora ci fossero già dei contatti in memoria, perché magari si sta lavorando ad un'applicazione che gestisce una rubrica telefonica, ad esempio, si può anche mettere l'oggetto Contact in binding:
<PersonPicture Contact="{x:Bind MyContact, Mode=OneWay}" />
Il codice sorgente di questo script è disponibile su GitHub al seguente indirizzo https://github.com/aspitalia/scripts-windows/tree/master/script-203
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Linting di un Dockerfile con un workflow di GitHub
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Generare file PDF da Blazor WebAssembly con iText
Usare una container image come runner di GitHub Actions
Eseguire una query su SQL Azure tramite un workflow di GitHub
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Effettuare il pull di git LFS in un workflow di GitHub
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Workflow di continuous deployment tramite pull request label in GitHub
Utilizzare ChatGPT con Azure OpenAI
Eseguire una GroupBy per entity in Entity Framework
I più letti di oggi
- Evitare il flickering dei componenti nel prerender di Blazor 8
- Rilasciata la Beta 2 di Visual Studio 2008
- tra pochi minuti inizia la keynote della seconda giornata. seguila live su http://aspitalia.com/mix-11 #mix11
- .@dbochicchio ora su #aspnetcore 2 a #netconfit https://aspit.co/netconf-17
- Utilizzare angular-cli per creare una direttiva in Angular 2
- Windows Vista: il ritorno di WinFS con la beta1
- .@CristianCivera tra poco su #azure con i suoi tips&tricks per lo sviluppatore web: https://aspit.co/web15-live #aspilive
- Le novità di C# 10