WPF中的自定义文本换行

时间:2008-09-20 16:41:45

标签: wpf text

有没有办法在WPF中的非矩形容器中包装文本?

Here is how it is done in photoshop

2 个答案:

答案 0 :(得分:4)

不幸的是,如果没有完全实现TextFormatter,就没有一种简单的方法。 MSDN article on the basics of an Advanced TextFormatter

  

WPF中的文本布局和UI控件提供格式设置属性,使您可以轻松地在应用程序中包含格式化文本。这些控件公开了许多属性来处理文本的显示,其中包括字体,大小和颜色。在通常情况下,这些控件可以处理应用程序中的大部分文本显示。但是,某些高级方案需要控制文本存储以及文本显示。 WPF为此提供了可扩展的文本格式引擎。

答案 1 :(得分:1)

您是否看过UIElement.Clip属性?

对于非矩形文本换行,您可以尝试将TextBlock.Clip属性设置为非矩形的Geometry对象。我没试过这个;要么它不会在剪辑区域之外绘制文本,要么它将包装文本以适合剪辑。

Charles Petzold mentions this technique