多行WPF文本块:行的不同对齐方式

时间:2012-04-21 08:29:40

标签: wpf alignment textblock

是否可以为多行文本块的不同行设置不同的水平对齐?

例如,我想将文本的标题居中,但主要文字我想在左侧对齐。我不想在这个问题上使用多个文本块。

感谢。

1 个答案:

答案 0 :(得分:1)

我不认为你可以使用TextBlock控件得到你想要的东西,这是因为你可以在TextBlock中添加的Inline元素不允许你控制水平对齐(逐行)。

无论如何,我不认为这是最好的方法,实际上,正如MSDN所指定的那样:

  

TextBlock未针对需要显示多行内容的方案进行优化;对于这样的场景,在性能方面,FlowDocument与适当的查看控件相结合是比TextBlock更好的选择。在TextBlock之后,FlowDocumentScrollViewer是用于显示流内容的下一个最轻量级控件,并且简单地提供具有最小UI的滚动内容区域。 FlowDocumentPageViewer针对流内容的“一次一页”查看模式进行了优化。最后,FlowDocumentReader支持用于查看流内容的最丰富的集合功能,但相应地更重。

因此,如果您想要更灵活的控制,并且在性能方面要求它做得更好,那么您应该使用FlowDocument

我想补充说明。如果您正在寻求性能的显着提升,并且您认为单个TextBlock是正确的解决方案,我建议使用Visual元素和相对DrawText方法。但是,如果你正在寻找一个易于控制以便在未来维护,那么选择就是FlowDocument,正如已经说过的那样。