0

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

例如,我想将文本的标题居中,但主要文本我想靠左对齐。我不想为这个问题使用几个文本块。

谢谢。

4

1 回答 1

1

我认为您无法使用 TextBlock 控件获得所需的内容,这是因为您可以在 TextBlock 中添加的内联元素不允许您控制水平对齐(逐行)。

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

TextBlock 没有针对需要显示多于几行内容的场景进行优化;对于此类场景,就性能而言,FlowDocument 与适当的查看控件相结合是比 TextBlock 更好的选择。在 TextBlock 之后,FlowDocumentScrollViewer 是下一个用于显示流内容的最轻量级的控件,它只是提供了一个具有最少 UI 的滚动内容区域。FlowDocumentPageViewer 针对流内容的“一次一页”查看模式进行了优化。最后,FlowDocumentReader 支持查看流内容的最丰富的集合功能,但相应地更重。

因此,如果您想要更灵活的控制,并且在您要求它执行的操作方面也有更好的性能,您应该使用FlowDocument

我想补充一点。如果您正在寻找性能的显着改进,并且您认为单个 TextBlock 是正确的解决方案,我建议您改用Visual元素和相关的DrawText方法。但是,如果您正在寻找一种易于在将来维护的控件,则选择 FlowDocument,如前所述。

于 2012-04-21T10:20:20.020 回答