Tra le novità introdotte da Windows 10 versione 1803 (conosciuto come Redstone 4) vi è la possibilità di aggiungere metadati al controllo RichEditBox.
Il modo più rapido per aggiungere questi metadati è utilizzare il prefisso "@" prima di una parola. Comportamento utilizzato da Facebook e Twitter per taggare le persone in un post.
L'aggiunta di questi metadati avviene mediante la classe ContentLink, quest'ultima è a tutti gli effetti di informazioni "pescate" da un provider.
I provider rivestono un ruolo fondamentale in quanto, come detto, forniscono le informazioni, visualizzate durante la digitazione. Out-of-the-box Windows fornisce due provider: ContactContentLinkProvider e PlaceContentLinkProvider, rispettivamente per fornire una lista di contatti o di luoghi.
<RichEditBox VerticalAlignment="Top" Margin="20"> <RichEditBox.ContentLinkProviders> <ContentLinkProviderCollection> <ContactContentLinkProvider/> </ContentLinkProviderCollection> </RichEditBox.ContentLinkProviders> </RichEditBox>
Il codice precedente imposta il ContenProvider utilizzato dalla nostra RichTextEdit per mostrare una lista di contatti (presi dalla rubrica) che corrispondono al criterio di ricerca specificato dopo il carattere "@".

Una volta selezionato un contatto dalla lista, il suo nome sarà evidenziato e sarà possibile, all'evento di click, lanciare l'azione associata come, ad esempio, aprire la scheda dello stesso.
Il codice sorgente di questo script è disponibile su GitHub al seguente indirizzo https://github.com/aspitalia/scripts-windows/tree/master/script-198
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare la libreria EntityFrameworkCore.Exceptions per gestire le eccezioni di Entity Framework Core in modo tipizzato
Copiare automaticamente le secret tra più repository di GitHub
Modernizzare le applicazioni WPF e Windows Forms con Blazor
Usare Azure Application Gateway come reverse proxy per ASP.NET Core
Centrare elementi in HTML tramite CSS
Leggere la configurazione da Azure KeyVault con logica di retry in ASP.NET Core
Gestire dati sensibili nella configurazione in ASP.NET Core
Utilizzo di Map e Object in Javascript
Utilizzare ChatGPT con Azure OpenAI
Determinare lo stato di un pod in Kubernetes
Definire una tabella come memory optimized su Sql Server tramite EF Core
Pubblicare la documentazione di un repository con GitHub Pages