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

标签 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);

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

最佳答案

不,你不能。与您在 DrawingContext 中绘制的任何内容一样,对象的属性仅控制对象本身,即实际为该对象绘制的内容,而不是其背后或周围的内容。在文本后面绘制一个矩形是最明显的解决方法,并且在 DrawingContext 中使用该对象时是完全合适的。

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

您必须根据自己的具体情况决定什么是最合适的。

关于c# - 如何在C#中设置FormattedText背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37381723/

相关文章:

c# - 使用 MVVM 在 XAML 中禁用 telerik 网格中的特定列

c# - 功能区控件专注于按钮单击

c# - 如何从 gps 点创建谷歌地图折线?

c# - 从 C#/XAML Metro 应用程序使用 REST 服务?

c# - 如何在运行时获取 WPF 元素的尺寸而不在编译时指定它们

wpf - ListView - 滚动条高度随着我滚动而不断变化

c# - C# 中单个按钮有两个操作的弹出消息

c# - Crystal Report 中加载报告失败

c# - 使用 HTML Agility Pack 结束元素?

wpf - 如何在WPF中创建一个允许鼠标事件通过的半透明窗口