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
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Eliminare una project wiki di Azure DevOps
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Cambiare la chiave di partizionamento di Azure Cosmos DB
Cancellare una run di un workflow di GitHub
Proteggere le risorse Azure con private link e private endpoints
Miglioramenti agli screen reader e al contrasto in Angular
Generare la software bill of material (SBOM) in GitHub
Disabilitare automaticamente un workflow di GitHub (parte 2)
Utilizzare i primary constructor di C# per inizializzare le proprietà
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Conoscere il rendering Server o WebAssembly a runtime in Blazor