【问题标题】:Multiline WPF textblock: different alignment for lines多行 WPF 文本块:行的不同对齐方式
【发布时间】:2012-05-02 16:50:03
【问题描述】:

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

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

谢谢。

【问题讨论】:

  • 为什么不希望在 StackPanel 中有两个 TextBlock?这是我能想到的最简单的解决方案。

标签: wpf alignment textblock


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2020-02-22
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 2023-02-22
    相关资源
    最近更新 更多