Je poste ce texte afin que le code soit accessible à quiconque le trouve utile.Ajout de texte à un TextBlock, un caractère à la fois
Code légèrement réduit basé sur la suggestion de Noctis.
StringBuilder DescriptionText = new StringBuilder();
async void RunDescription(StringBuilder description)
{
DescriptionText = description;
await Task.Delay(1000); // Short delay before the text starts printing so the window has time to load
new Thread(AddTextToTextBlock).Start();
}
void TextBlockDispatcher(string text)
{
TextBlock1.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => TextBlock1.Inlines.Add(text)));
}
void AddTextToTextBlock()
{
foreach (char c in DescriptionText.ToString())
{
Thread.Sleep(30);
TextBlockDispatcher(c.ToString());
}
}
Le code de travail pour lequel vous souhaitez donner votre avis ou faire des suggestions, appartient à codereview.stackexchange.com. Même là, vous devez fournir un bon [mcve] qui illustre clairement les aspects que vous voulez commenter. Stack Overflow est pour des problèmes spécifiques et pratiques avec le code. –
Je vote pour fermer cette question hors-sujet parce qu'elle appartient à codereview.stackexchange.com – Jeff
@PeterDuniho Merci, je garderai cela à l'esprit dans le futur. – Cusha