gpt4 book ai didi

c# - 更改 FormattedText 的文本

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:16 24 4
gpt4 key购买 nike

我正在使用以下方法将文本写入我的主窗口。我的问题是,有没有办法在创建后更改 FormattetText 或绘图视觉的文本?或者,如果我希望在运行时更新文本,我应该使用另一种方法来编写文本吗?

private Visual WriteText()
{
DrawingVisual drawingVisual = new DrawingVisual();
using (DrawingContext drawingContext = drawingVisual.RenderOpen())
{
FormattedText ft = new FormattedText("Hello world", CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Typeface("Klavika"), 10, Brushes.Red);
drawingContext.DrawText(ft, new Point(0, 0));
}
return drawingVisual;
}

最佳答案

FormattedText 对象一旦创建就无法更改其文本,但可以更改Visual 对象的内容。如果您有对要更改的 DrawingVisual 的引用,您可以使用类似于您的方法的内容:

 private Visual UpdateVisual(DrawingVisual drawingVisual, string updatedText)
{
using (DrawingContext drawingContext = drawingVisual.RenderOpen())
{
FormattedText ft = new FormattedText(updatedText, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Typeface("Klavika"), 10, Brushes.Red);
drawingContext.DrawText(ft, new Point(0, 0));
}
return drawingVisual;
}

关于c# - 更改 FormattedText 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20176792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com