Markdown è un linguaggio di markup piuttosto moderno che permette di scrivere del semplice testo con formattatazione in modo tale che possa essere convertito facilmente in HTML, per i sistemi che non lo capiscono, oppure usato così com'è da strumenti come, ad esempio, GitHub.
Anche la Universal Windows Platform, seppur non in modo nativo, include un controllo che permette la scrittura e la visualizzazione di contenuto formattato in markdown: il controllo XAML MarkdownTextBlock esposto dal Windows Community Toolkit infatti, effettua parsing e renderizza contenuto formattato in modo molto efficiente sfruttando, dietro le quinte, alcuni elementi nativi della piattaforma come i controlli Image per le immagini, RichEditTextBox per le caselle di testo e così via...
Per utilizzare il controllo è sufficiente aggiungerlo nello XAML e scrivere il markdown direttamente nella proprietà Text, come mostrato di seguito:
<controls:MarkdownTextBlock Text="**This is *Markdown*!**" />
Poiché il markdown permette la formattazione, ma la Universal Windows Platform consente anche la customizzazione, è facile andare ad implementarsi degli stili personalizzati per gli header:
<controls:MarkdownTextBlock Text="**This is *Markdown*!**" Header1FontSize="48" Header1FontWeight="Bold" />
Oppure anche per blocchi di codice:
private void MarkdownText_CodeBlockResolving(object sender, CodeBlockResolvingEventArgs e) { if (e.CodeLanguage == "csharp") { e.Handled = true; e.InlineCollection.Add(new Run { Foreground = new SolidColorBrush(Colors.Red), Text = e.Text, FontWeight = FontWeights.Bold }); } }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ordine e importanza per @layer in CSS
Gestione degli stili CSS con le regole @layer
Ottimizzazione dei block template in Angular 17
Referenziare un @layer più alto in CSS
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Generare velocemente pagine CRUD in Blazor con QuickGrid
Effettuare il binding di date in Blazor
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Usare le collection expression per inizializzare una lista di oggetti in C#
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Gestione dell'annidamento delle regole dei layer in CSS