有没有办法在WPF中的非矩形容器中包装文本?
答案 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。