【发布时间】:2015-07-21 09:55:34
【问题描述】:
我正在尝试在 WPF 中实现矩形阴影效果,如下所示: https://css-tricks.com/multi-line-padded-text/
阴影应该跟在每一行文本之后,但行与行之间不应有空格。此外,阴影将具有一定的透明度,这排除了为内联运行添加单独的背景。我试过了,阴影与不透明度值重叠的地方形成了更深的颜色。
到目前为止,我已经研究过 TextBox、TextBlock 和 RichTextBox。我尝试更改 Run.Background,或选择文本并更改选择前景/背景。如果没有成功,这些都不能完全满足我的需要。
基本上(我认为)我需要的是一个文本格式化功能,它允许我从内存中的字符串创建一个正确包装的文本,每一行都有单独的运行。在此之后,我可以找出每个 Run 的像素长度,手动将这些 Run 添加到 RichTextBox 或 TextBlock 中,并在它们后面手动创建矩形。 不幸的是,当我将文本添加到 TextBlock 或 RichTextBox 时,换行会应用到 Run 本身,而不是为每个换行的行创建单独的 Run。
【问题讨论】:
标签: c# wpf shadow text-formatting