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
Change tracking e composition in Entity Framework
Simulare Azure Cosmos DB in locale con Docker
Creare una libreria CSS universale - Rotazione degli elementi
Creare una libreria CSS universale: i bottoni
Configurare e gestire sidecar container in Azure App Service
Collegare applicazioni server e client con .NET Aspire
Effettuare il refresh dei dati di una QuickGrid di Blazor
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Ottenere un token di accesso per una GitHub App
Escludere alcuni file da GitHub Secret Scanning
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework