我发布此信息,以便任何人都可以使用该代码。
根据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());
}
}
答案 0 :(得分:2)
听起来像你需要跳过的平常箍。我可能考虑改变的唯一方法是调用调度程序,然后检查它是否具有访问权限,只需直接在您的对象上调用它即可。 看起来应该有点像:
TextBlock1.Dispatcher.BeginInvoke((Action)(() => /* logic here */ )
为您保存一个电话,但确实如此。 你需要按摩它,因为它来自我的头顶,但它应该指向正确的方向。