如何在C#中设置FormattedText背景颜色

时间:2016-05-23 02:15:50

标签: c# wpf

有没有办法在C#中为FormattedText设置背景颜色?我正在使用这样的东西:

var formattedText = new FormattedText(...);
Point point = new Point(x,y);
// Draw the text onto a drawing context at specific point position
dc.DrawText(formattedText, point);

我正在尝试更改格式化文本的背景颜色。否则,我必须在文本后面画一个矩形。

1 个答案:

答案 0 :(得分:2)

不,你不能。就像你绘制到DrawingContext中的任何东西一样,对象的属性只控制对象本身,即实际为该对象绘制的内容,而不是它后面或周围的内容。在文本后面绘制一个矩形是最明显的解决方法,在DrawingContext中使用该对象时完全合适。

您可以设置文本最终托管的某个元素的背景,但当然这会设置整个背景,而不仅仅是文本背后的内容(取决于其他内容是否正在绘制到上下文中)。 / p>

您必须根据自己的具体情况决定哪种方式最合适。